node爬虫有哪些限制并发数的技巧?

async function task (url){
    // 这里访问网页
}

const urls = []; // 假设这里有1000个url

// 这里我想一伦执行10个异步任务, 而不是一个一个的执行
async function run (){
 for (const item of urls) {
    const isOk = await task(item);
    console.log(`${isOk}`);
  }
}
阅读 2.2k
1 个回答

可以用 Promise.all 同时等多个 Promise 。

伪代码:

    p = [];
    for (i = 1 to 10 ) {
       p[i] = task(url[i])
    }
    await Promise.all(p)
推荐问题