文章 评论 浏览 29
function multiRequest(urls, maxNum) { let i = 0 let res = [] return new Promise(r => { for(; i < maxNum; i++) { addTask() } function addTask() { res[i] = fetch(urls[i]) res[i].then(res => { i >= urls.length && r();i < urls.length && addTask(); i++; }) } }).then((_) => { Promise.all(res).then(ans => { console.log(ans) }) }) } function fetch(url) { return new Promise((resolve) => { let start = new Date() setTimeout(() => { resolve(`start: ${start};end: ${new Date()}`) }, 10000 * Math.random()); }) } multiRequest([1,2,3,4,5,6,7,8,9], 3)
文章 0 评论 0
接受
第 153 题:实现一个批量请求函数 multiRequest(urls, maxNum)