Twilio Studio未列出服务

时间:2019-04-26 23:27:34

标签: twilio twilio-functions twilio-studio

我正在使用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(“转到此处”);'。我也没有收到任何错误消息。

衷心感谢任何指导。

1 个答案:

答案 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);
            }
        );


};