在节点 js 中,我在 for loop 中有一个 aws API 调用。
var prodAdvOptions = {
host : "webservices.amazon.in",
region : "IN",
version : "2013-08-01",
path : "/onca/xml"
};
prodAdv = aws.createProdAdvClient(awsAccessKeyId, awsSecretKey, awsAssociateTag, prodAdvOptions);
var n=100//Just for test
for (var i = 0; i <=n; i++) {
prodAdv.call("ItemSearch", {
SearchIndex : "All",
Keywords : "health,fitness,baby care,beauty",
ResponseGroup : 'Images,ItemAttributes,Offers,Reviews',
Availability : 'Available',
ItemPage : 1
}, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
}
预期的结果是,在第一个结果返回值后,第二个调用请求应该去。但是这里的请求/响应是异步运行的。如何让下一个结果等到上一个调用返回响应。即使速度很慢也没关系。