簡體   English   中英

Javascript 中的 Promise 數組

[英]Array of Promises in Javascript

我正在編寫一段代碼來從 API 請求信息。 限制為每秒 10 個請求。 對於 10 個請求,我的解決方案是 Promise.all(calculate(item1),calculate(item2)...) 等等。

我的方法至少可以說是有問題的,因為當我要檢查的項目少於 10 個時,我的 Promise.all 完成了一半,並且出現錯誤。

如何填充 Promise.All() 以適應數組的長度?

我知道這聽起來可能很愚蠢,雖然我的解決方案有效,但它很糟糕。 我只是一個初學者,雖然我可以處理一些事情,但 Promise.all 中的回調超出了我的范圍,哈哈。

提前致謝!

 async function superCalculadora(it){ let res; if (it.length < 5) { if (it.length == 4) { res = await Promise.all([calculadora(it[0]),calculadora(it[1]),calculadora(it[2]),calculadora(it[3])]); } else { if (it.lenght == 3){ res = await Promise.all([calculadora(it[0]),calculadora(it[1]),calculadora(it[2])]); } else if (it.length == 2){ res = await Promise.all([calculadora(it[0]),calculadora(it[1])]); } else if (it.length == 1){ res = await calculadora(it[0]); } } } else { res = await Promise.all([calculadora(it[0]),calculadora(it[1]),calculadora(it[2]),calculadora(it[3]),calculadora(it[4])]); }

您可以簡單地使用Array.map並將上述所有代碼替換為:

async function superCalculadora(it){
    const res = await Promise.all(it.map(item => calculadora(item)))

暫無
暫無

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

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