【发布时间】:2016-02-06 21:46:30
【问题描述】:
我是 node.js 和回调概念的新手。我有 Rails、PHP 等方面的经验,现在我正在学习 node.js。
我想创建一个使用 Google GMail API 的简单邮件客户端。 示例代码在这里:https://developers.google.com/gmail/api/quickstart/nodejs
我想将部分 gmail API 作为模块提供给我的 MEAN 应用。我已将快速入门代码放入模型中,并且可以将我的 gmail 帐户的标签打印到控制台。
现在我想 a) 返回数组(标签、消息等)而不是仅仅打印它们 b) 将应用程序的某些部分重用于不同的用例(例如身份验证等)
快速入门文件的结构是这样的:
- read client_secret asynchronously
- callback to authorization
- callback to getNewToken (if needed)
- callback to listLabels (Function that prints the labels)
在同步世界中,我会创建所有这些函数(getClientSecret、getAuthorization、getNewToken、listLables),然后依次调用它们,如下所示:
function printLabels() {
secret = getClientSecret
auth = getAuthorization(secret)
token = getToken(auth)
labels = getLabels(auth)
print labels
}
要获取所有线程,我会以类似的方式进行:
function printThreads() {
secret = getClientSecret
auth = getAuthorization(secret)
token = getToken(auth)
threads = getThreads(auth)
print threads
}
现在我正在尝试以异步方式执行此操作,但我无法理解如何以简单而优雅的方式执行此操作。
我想重复使用始终相同的代码并将结果(auth 对象)用于各种查询(线程、标签等)。
谁能给我指出一个很好的资源来帮助我理解如何去做?
【问题讨论】:
标签: javascript node.js asynchronous