簡體   English   中英

async-await 是否僅與 Promise 一起使用?

[英]Is async-await only used with promises?

我正在使用 javascript。

我的問題來自這種情況:我有一個正在映射的大型數組,

let myNewArray = myLargeArray.map(someFuntion)
console.log(myNewArray)

映射是否可能花費太長時間並且可能會記錄undefined的內容? 那么我應該使用 async-await 還是只為 promise 保留?

映射是否可能需要太長時間

“太長”是主觀的。 不過,花費的時間不會對您最終獲得的價值產生任何影響。

那個未定義的可能會被記錄?

map總是返回一個數組,所以沒有。

該數組可能包含未定義的值。

那么我應該使用 async-await 還是只為 promise 保留?

您只能等待 promise。

map將返回一個數組,因此您無法等待它。

If someFunction returns a promise, then the map will return an array of promises, which you could wrap with Promise.all which returns a promise that you could await if you wanted to log an array of resolved values instead of an array of promises.

Map 是同步的。
它接受回調 function (someFuntion)並始終創建一個新數組。
回調 function (someFuntion)不是事件驅動的。
它按順序應用於數組中的每個元素。
您將始終收到一個數組而不是未定義的。 但返回數組中的值將取決於您提供給 map 的回調 function。
如果someFuntion什么都不返回,你將得到未定義的數組。
如果返回 promise 則 promise 數組可以解析。 Promise.all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM