为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2021-12-02 15:49:56
我正在使用 javascript。我的问题来自这种情况:我正在映射一个大数组,let myNewArray = myLargeArray.map(someFuntion)console.log(myNewArray)映射是否可能需要太长时间并且undefined可能会被记录?那么我应该使用 async-await 还是只为 promise 保留?
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

映射是否可能需要太长时间

“太长”是主观的。不过,花费的时间不会对您最终获得的价值产生任何影响。

undefined 可能会被记录?

map 总是返回一个数组,所以不。

不过,该数组可能包含未定义的值。

那么我应该使用 async-await 还是只为 promise 保留?

您只能有用地等待承诺。

map 将返回一个数组,所以你不能有用地等待它。

如果someFunction返回一个promise,那么map它将返回一个promise数组,你可以用Promise.all它包装一个promise,如果你想记录一个已解析值的数组而不是一个promise 数组,你可以等待它。


查看完整回答
反对 回复 2021-12-02
?
萧十郎

TA贡献1815条经验 获得超13个赞

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

查看完整回答
反对 回复 2021-12-02
  • 2 回答
  • 0 关注
  • 325 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信