我们正在使用Activity
和async
从另一个函数中收集计数,但遇到了Promise问题,我们知道要使用await
,但需要更新外部数组/对象。
我们如何等待仍更新then()
元素并推送到数组?
示例代码:
forEach
答案 0 :(得分:0)
getCounts
返回一个Promise
,因此您可以使用.then
回调或async/await
getQuestionCounts: function(req, res){
var arr = [];
// not sure why you're doing this way
module.exports.getCounts(req.data).then(data => {
// data is available only here
console.log(data);
arr.push(data)
// use arr here
})
// arr will be empty
console.log(arr)
}
async/await
getQuestionCounts: async function(req, res){
try {
var arr = [];
var count = await module.exports.getCounts(req.data);
arr.push(count);
} catch (e) {
//handle error
console.error(e)
}
}
注意:所有async
函数均返回Promise
使用module.exports
function someFunc() {
return something;
}
function anotherFunc() {
const result = someFunc()
// do something
return another;
}
module.exports = {
// if you still want to export someFunc
someFunc
anotherFunc
}