js循环中同步处理异步结果

问题

我有一千访问链接,需要在js的循环中挨个检查访问。
用forEach、map看结果都是并发执行的,容易触发浏览器的高频限制。
因此需要转成同步执行

解决

function doSomething(item) {
    return new Promise((resolve, reject) => {
        resolve(item)
    });
}

async function test() {
    const data = ['1', '2', '3'];
    for (let i = 0; i < data.length; i++) {
        console.log('i', data[i]);
        await doSomething(data[i]).then(response => {
            console.log('g', response);
        });
    }
}

chrome.runtime.onMessage.addListener(test);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容