Ham*_*had 2 javascript arrays function promise ecmascript-6
我有个问题.我目前正在学习如何使用promises,但我遇到了一个问题,经过大量搜索后我找不到答案.我正在尝试使用map来获取一个promises数组,这些promises是在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
Run Code Online (Sandbox Code Playgroud)
你的map函数没有返回任何东西,只有你的then函数:
let promises = myArray.map(result =>
{
return searchPromise(result.type).then((searchReply) =>
{
return processReply(result, searchReply)
});
}
);
Run Code Online (Sandbox Code Playgroud)
或者,省略注释中所述的花括号,以强制返回:
let promises = myArray.map(result =>
searchPromise(result.type).then((searchReply) => processReply(result, searchReply)
));
Run Code Online (Sandbox Code Playgroud)