我是Twilio API的新手,似乎无法弄清楚如何计算与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()函数显然没有返回Promise; allTasks.length始终为1(因为allTasks是TaskListInstance,而不是数组);并且该文档不是很详细-它有一些基本示例,但是我似乎找不到能说出我真正需要了解each()或TaskListInstance类型的API的细节。>
谢谢。
答案 0 :(得分:1)
用一点旧的“粘性”来解决。 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++;
});