簡體   English   中英

將 Javascript Web Worker 和 Async 一起使用?

[英]Using Javascript Web Worker and Async together?

有沒有人一起使用 Web Worker 和 Async 或者有人投票反對這個?

例如,如果我想發送 1000 個異步調用並等待它們完成,它是同步的,所以它很慢。 雖然它不會阻塞主線程,但是一個一個地等待它是很慢的。

我可以等待一個創建 1000 個 Web Workers 並並行發送 1000 個提取(每個工作一個提取)的異步方法。 每個 web 工作人員將等待獲取結果並將結果返回。 在創建 1000 個 Web Workers 的主要異步方法上,它收集了所有 1000 個結果。 完成后,它會完成該方法並且主線程將從那里繼續?

我沒有看到那里的例子。 我想知道為什么。 這是一個壞主意嗎? 或者也許有一個框架?

謝謝

您不需要工作人員,因為fetch不會阻塞主線程。 除此之外,還會有很大的開銷。

默認情況下, fetch已經做了你想要的,你不應該等待每一個調用。

您可以使用Promise.allSettled將一組 promise 轉換為單個 promise 結果,然后您可以await

const promises = urls.map(url => fetch(url));
const results = await Promise.allSettled(promises);

暫無
暫無

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

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