ノード 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);
}
});
}
期待される結果は、最初の結果が値を返した後、2 番目の呼び出し要求が実行されることです。しかし、ここでは要求/応答が非同期で実行されていました。前の呼び出しが応答を返すまで次の結果を待機させる方法。遅くても大丈夫。