Twilio 如何计算TaskRouter工作区中的任务数?
我是TwilioAPI的新手,似乎不知道如何计算与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;
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++;
});