想要遍历一个接口10次。但是因为Nodejs天生异步的影响。不会等到每次接口返回后再进行下次循环遍历。请问什么方法可以解决我的这个问题呢?
for(let i=0;i<10;i++){
//就是想在每次接口返回以后再进行下次循环
request(queryStringSql + '&page=' +i + '', function (error, response, body){
if (!error && response.statusCode == 200) {
cardsList.concat(JSON.parse(body)['cards']);
}
});
}
就是想每次for循环都是在上次for循环中访问接口结束以后。就是在for循环中使用同步,不使用异步。
使用Bluebird的Promise.mapSeries方法即可。