Twilio 如何计算TaskRouter工作区中的任务数?

Twilio 如何计算TaskRouter工作区中的任务数?,twilio,twilio-api,Twilio,Twilio Api,我是TwilioAPI的新手,似乎不知道如何计算与TaskRouter工作区关联的任务 const client = require('twilio')(accountSid, authToken); client.taskrouter.workspaces.each(workspace => { const allTasks = client.taskrouter.workspaces(workspace.sid).tasks; var taskCount = 0;

我是TwilioAPI的新手,似乎不知道如何计算与TaskRouter工作区关联的任务

const client = require('twilio')(accountSid, authToken);

client.taskrouter.workspaces.each(workspace => {
    const allTasks = client.taskrouter.workspaces(workspace.sid).tasks;
    var taskCount = 0;

    allTasks.each(task => {
        taskCount++;
    });
})
这很容易…但我不知道这个过程何时完成。这个each()函数显然没有返回承诺;allTasks.length始终为1(因为allTasks是TaskListInstance,而不是数组);文档也不是很详细——它有一些基本的示例,但我似乎找不到具体的API文档来告诉我关于每个()或TaskListInstance类型真正需要知道什么


提前感谢。

用一点旧的“StickToivity”解决了这个问题。each()函数实际上包含两个参数。第一个是TaskListInstanceEachOptions实例,它包括一个“done”元素,该元素是一个函数,在任务列表用尽时被调用。这也许可以写得更优雅一些——更多的Javascript-y——但我最终发现这是可行的:

const allTasks = client.taskrouter.workspaces(workspace.sid).tasks;
var tasksEvaluated = 0;

var opts = {};
opts.done = function() { console.log('Done. Total # of tasks evaluated: ' + tasksEvaluated)};

allTasks.each(opts, task => {
    tasksEvaluated++;
});