1
我试图从不在循环中访问array
,但它似乎有些错误。我错过了什么?我应该怎么做?node.js函数返回空
funcA(){
return new Promise((resp, rej) => {
var list = [1,2,3,4,5];
var array = [];
list.forEach(i => {
funcB(i).then(num => {
array.push(num);
console.log(array) //=> [1,2,3,4,5]
})
});
console.log(array) //=> []
resp(array) //=> []
})
}
funcB(i){
return new Promise((resp, rej) => {
resp(i);
})
}
的可能的复制[如何我是否会返回来自异步调用的响应?](https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – str
'funcB' is async 。所以,你需要等待(提示:'Promise.all')所有'funcB'的承诺,然后*做* resp(array)'。 –
[如何在JavaScript中等待函数的承诺]可能的重复(https://stackoverflow.com/questions/47773824/how-to-wait-for-functions-promise-in-javascript) – Stamos