私は、起動する前に5000msの遅延が必要な非同期機能を持っています。私はこれを達成するためにsetTimeout()
を使用しようとしています。この非同期関数は、複数回実行されるループで発生し、非同期関数が毎回異なるデータを渡すため、setInterval()
はここでは使用できません。非同期機能のsetTimeout
問題:非同期機能は何が起こった、と私はそれをどのように解決することができます
Javascriptのコード
5件のDone
メッセージがinstantly`遅延(コンソールプリントせずに即座にトリガされ、遅滞なくループします。?
someFunction(listings, function() {
for (var i in listings) {
var listing = listings[i];
setTimeout(asyncFunction(listing, function(data) {
console.log('Done');
}), 5000);
}
});
"listings"が実際に配列の場合は、 "for ... in"を反復しないでください。代わりに数値インデックスを使用します。 – Pointy
@Pointyはいそれは単なる配列です、oops :) – Nyxynyx