文章 评论 浏览 32
function multiRequest(urls, maxNum) { return new Promise((res, rej) => { const tasksLength = urls.length const result = [] let i = 0 let done = 0 function runTask() { if(i >= tasksLength) return const curIndex = i const url = urls[curIndex] fetch(url).then(res => res.json()).then((value) => { result[curIndex] = value done++ if(done === tasksLength) { res(result) return } runTask() }).catch(err => { rej(err) }) i++ } while(maxNum !== 0) { runTask() maxNum-- } }) }
文章 0 评论 0
接受
第 153 题:实现一个批量请求函数 multiRequest(urls, maxNum)