猿问

async-await 是否只与 Promise 一起使用?

我正在使用 javascript。


我的问题来自这种情况:我正在映射一个大数组,


let myNewArray = myLargeArray.map(someFuntion)

console.log(myNewArray)

映射是否可能需要太长时间并且undefined可能会被记录?那么我应该使用 async-await 还是只为 promise 保留?


白衣非少年
浏览 326回答 2
2回答

函数式编程

映射是否可能需要太长时间“太长”是主观的。不过,花费的时间不会对您最终获得的价值产生任何影响。undefined 可能会被记录?map 总是返回一个数组,所以不。不过,该数组可能包含未定义的值。那么我应该使用 async-await 还是只为 promise 保留?您只能有用地等待承诺。map 将返回一个数组,所以你不能有用地等待它。如果someFunction返回一个promise,那么map它将返回一个promise数组,你可以用Promise.all它包装一个promise,如果你想记录一个已解析值的数组而不是一个promise 数组,你可以等待它。

萧十郎

地图是同步的。它接受回调函数(someFuntion)并始终创建一个新数组。回调函数(someFuntion)不是事件驱动的。它按顺序应用于数组中的每个元素。您将始终收到一个数组而不是未定义的。但是返回数组中的值将取决于您提供给映射的回调函数。如果不someFuntion返回任何内容,您将获得未定义的数组。如果返回承诺,则可以解决的承诺数组。Promise.all.
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答