【发布时间】:2019-07-24 00:22:38
【问题描述】:
我有一个问题。我目前正在学习如何使用 Promise,但我遇到了一个问题,经过大量搜索后我还没有找到答案。我正在尝试使用 map 来获取一系列承诺,这些承诺是在 Promise.all 中处理 then 块的结果,但以下内容不起作用,这里出了什么问题?
let promises = myArray.map(result =>
{
searchPromise(result.type).then((searchReply) =>
{
return processReply(result, searchReply)
});
}
);
Promise.all(promises).then(c => console.log(c)); //array of Undefined, but
//want to get results from
//processReply function
【问题讨论】:
-
同意存在一些语法错误,但您可能会得到一个未定义的数组,因为
myArray.map(...);没有返回任何内容(undefined的隐式返回)。 -
@PatrickRoberts 已修复,谢谢。
-
@user87002 您缺少退货声明。应该是
return searchPromise(...或者,您可以删除箭头函数体上的花括号。
标签: javascript arrays function ecmascript-6 promise