【发布时间】:2018-09-04 01:04:12
【问题描述】:
我已经为此苦苦挣扎了很长一段时间,但一直未能找到解决此问题的好方法。
我有一个数组,我通过一个具有回调的导入函数进行映射。我想从回调中获取数据(JSON),对其进行操作,输出并通过另一个函数运行它。
因为 node_module qbo.getBill 函数有一个回调,我不认为我可以运行 promise 或 async\await,我在添加 getBill 函数后没有任何成功。
这是我的代码/我正在尝试做的事情:
var QuickBooks = require('node-quickbooks')
var qbo = new QuickBooks(...)
let BillIds = [....]
let newArray =[]
let mapData = BillIds.map(val => {
qbo.getBill(val, function (err, Billid) {
newArray.push = {
id: Billid.Id,
balance: Billid.Balance
}
})
})
DoAThingWithAsyncronousData(newArray)
在我的一生中,在完成下一步之前我无法等待异步数据,我哪里出错了?
【问题讨论】:
-
为什么只在循环时使用
map? -
我从一个循环开始,然后在大量阅读后变成了一张地图,我不确定为什么我现在有一张地图。循环会解决这个问题吗?
-
getBill返回一个承诺? -
getBill 有回调,所以没有承诺?
标签: javascript node.js callback promise async-await