Twilio Studio 未列出服务

Twilio Studio Not Listing Services

我正在使用 Twilio 的同步库设置同步应用程序。出于某种原因,REST API 方法中的 none 似乎有效。也就是说,我无法通过运行时函数获得 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("Got to here");'。我也没有收到任何错误消息。

真诚感谢任何指导。

当您看到 .then() 时,这是一个承诺,您可以在此处阅读更多相关信息 https://www.twilio.com/blog/2016/10/guide-to-javascript-promises.html

换句话说,JavaScript 引擎会先执行您的步骤 2.,然后再执行 3.,而无需等待 1. 完成。由于您在第 3 步返回 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);
            }
        );


};