我想我最害怕避免与我的节点JS的回调地狱。但我试图做大量的API请求,并将其插入到我的数据库中。节点中的JS Api请求循环
我的问题在这里(当然)是我的for-loop在我完成我的请求和数据库插入之前运行并递增。
for(var i = 0; i <= 1 ; i++){
apiRequest = data[i];
apicall(apiRequest);
}
function apicall(urlApi){
request((urlApi), function(error, response, body){
if(error){
console.log("error");
} else if(!error && response.statusCode == 200){
var myobj = JSON.parse(body);
dbInsert(myobj);
}
});
}
function dbInsert(obj) {
//insert into database
}
如果其他人会来这个问题,我可以真实地建议我这篇文章,我通过joshvermaire读取响应后发现:
http://www.sebastianseilund.com/nodejs-async-in-practice
查看async/await - 它们将允许您在apicall处于活动状态时暂停。 – theGleep
'我'递增不应该在你的情况下造成问题。你的问题可能是别的。 –