I am grabbing content from multiple urls. Fetch api uses promises all over.
So my code for one requests looks like this
fetch(url).then((response)=>response.text()).then(function(html) { //stuff });
now i have array of urls and multiple calls will be made how do i know if all calls have finished.
i tried using Promise.all
but if you see there are two promises for every request. Is there a better way, also Promise.all support is not that good either.
Assuming you have an array of urls named urls
// separate function to make code more clear
const grabContent = url => fetch(url)
.then(res => res.text())
.then(html => (/* process html here */))
Promise
.all(urls.map(grabContent))
.then(() => console.log(`Urls ${urls} were grabbed`))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With