【发布时间】:2016-11-04 04:24:02
【问题描述】:
我正在从多个网址抓取内容。 Fetch api 到处使用 Promise。
所以我的一个请求的代码看起来像这样
fetch(url).then((response)=>response.text()).then(function(html) { //stuff });
现在我有一组 url,并且将进行多次调用我如何知道是否所有调用都已完成。
我尝试使用Promise.all,但如果您看到每个请求都有两个承诺。有没有更好的方法,Promise.all 的支持也不是很好。
【问题讨论】:
-
Promise.all在这里可以正常工作,只要您链接请求。在任何支持fetch的地方,Promise也将支持。 -
好的,如果你有一组 url,你能举个例子吗?你将如何使用 promise.all
-
Promise.all(urls.map(url => fetch(url).then(res => res.text()).then(html => (/* stuff */))).then(() => console.log('all urls were fetched and processed')) -
感谢@YuryTarabanko,如果您提出答案,请接受它
标签: javascript html asynchronous promise ecmascript-6