首页 > 解决方案 > 无法聚合从 twilio api 返回的数据

问题描述

我正在尝试从 Twilio API 获取计费数据并将返回的值保存在一个变量中,以便我可以返回它并在我的网络应用程序中显示它。我知道它与异步有关,我尝试使用异步和等待但无法使其工作。

const twilio = require("twilio");

client = twilio(
  "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "AUTHXXXXXXXXXXXXXXXXXXXXXXXXXXX"
);

const filterOpts = {
  startDate: "2021-08-01",
  endDate: "2021-08-31",
};

let result = []
function getBillingData() {
  client.usage.records.each(filterOpts, async (record) => {
    let temp = await record;
    result.push(temp);
  });
}


getBillingData();
console.log(result.length);

当我尝试运行它时,它会打印0

标签: javascriptnode.jsasynchronouspromisetwilio

解决方案


const filterOpts = {
  startDate: "2021-08-02",
  endDate: "2021-08-02",
  callback: (data) => {result.push(data);} ,
  done: () => {console.log(result.length);},
};


async function getBillingData() {
  client.usage.records.each(filterOpts);
}

async function getData() {
  await getBillingData();
};

getData();

我浏览了文档以找到我可以传递两个可选参数来完成我的工作。


推荐阅读