我用请求(长度为125664)加载一个json数据,并且从该数据中,我使用for
循环,当然我不能一次全部显示它,因为它可能导致内存泄漏,等等,如何在每行的每一行上都使用休息时间,我尝试了各种方法,从setTimeout等开始,但是还没有任何效果
目前我的代码:
request({
url: config.url.productSource,
json: true
}, function(error, response, body) {
console.log(body.length);
for(let link of body) {
console.log(link);
product(link); // call puppeteer headless browser (async)
stats(link); // call puppeteer headless browser (async)
}
});
最佳答案
看起来像您要async
和await
。将您的回调更改为async
函数,并在操纵up的呼叫中将其更改为await
。
request({
url: config.url.productSource,
json: true
}, async (error, response, body) => {
console.log(body.length);
for(let link of body) {
console.log(link);
await product(link); // call puppeteer headless browser (async)
await stats(link); // call puppeteer headless browser (async)
}
});
假设您的产品和统计信息功能已经异步。
关于node.js - sleep /等待,直到异步循环过程中的过程完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46290697/