【发布时间】:2017-12-01 18:03:42
【问题描述】:
关于这个例子:https://developers.google.com/google-apps/calendar/quickstart/nodejs
我想更改 listEvents 以返回事件的 JSON 数组。
目前是这样称呼的:
authorize(JSON.parse(content), listEvents);
其中“listEvents”是传递给回调的函数:
function authorize(credentials, callback) {
我尝试向 ListEvents 添加一个 return 语句,然后:
var jsonEvents = authorize(JSON.parse(content), listEvents);
console.log("Json Events=");
console.log(jsonEvents);
我知道它对我来说是异步的,因为我在 listEvents 函数的 console.log 输出之前得到了上面的 console.logs。 我也尝试输入“等待”这个词,但没有运气。
我尝试在 listEvents 中设置一个额外的参数:
var jsonEvents;
authorize(JSON.parse(content), listEvents(jsonEvents));
console.log("Json Events=");
console.log(jsonEvents);
导致“typeError:回调不是函数”。
更新:根据@Tuches 的回答,我得到了这个工作。想知道是否有必要扩展这么远。
authorize(JSON.parse(content), function(token) {
console.log("Got Token");
//console.log(token);
listEvents(token, function(jsonResult) {
console.log("Json Callback Events=");
console.log(jsonResult);
});
});
【问题讨论】:
标签: javascript asynchronous callback google-calendar-api