我正在使用Twilio的同步库设置同步应用程序。由于某种原因,所有REST API方法似乎都不起作用。也就是说,我无法通过运行时函数将任何同步方法用于console.log()。
但是,我可以使用console.log()纯文本。
这是我的代码:
exports.handler = function(context, event, callback) {
// 0. Init
// const phoneNumber = event.phoneNumber;
const issueLimit = 3; // CHANGE IF NEEDED
const listName = 'issues';
const twilioClient = context.getTwilioClient();
// 1. List all lists
twilioClient.sync.services(context.SYNC_SERVICE_SID)
.syncLists
.list({limit: 20})
.then(syncLists => syncLists.forEach(s => console.log(s.sid)));
// 2. return true if quota reached
console.log("Got to here");
// 3. return false
callback(null, undefined);
};
似乎执行的唯一代码是“ console.log(“转到此处”);'。我也没有收到任何错误消息。
衷心感谢任何指导。
答案 0 :(得分:1)
看到.then()
就是一个承诺,您可以在这里https://www.twilio.com/blog/2016/10/guide-to-javascript-promises.html了解更多信息
换句话说,JavaScript引擎转到您的步骤2.
,然后转到3.
,而无需等待1.
完成。而且由于您返回的是callback(null, undefined);
,因此您将看不到日志。
因此,您必须在callback()
内移动.then()
,如下所示:
exports.handler = function (context, event, callback) {
// 0. Init
// const phoneNumber = event.phoneNumber;
const issueLimit = 3; // CHANGE IF NEEDED
const listName = 'issues';
const twilioClient = context.getTwilioClient();
// 1. List all lists
twilioClient.sync.services(context.SYNC_SERVICE_SID)
.syncLists
.list({ limit: 20 })
.then(
function (syncLists) {
console.log("Got to here");
syncLists.forEach(s => console.log(s.sid));
callback(null, undefined);
}
);
};