[英]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.