同期AND呼び出しと非同期呼び出しの後にイメージにバウンスエフェクトを作成しようとしていますが、それを行う方法がわかりません。私が今行っている問題は、非同期イベントに時間がかかるため、時々バウンス効果とその後のisExecuted
が両方とも得られるということです。非同期呼び出しが完了した後になにかを実行します。
私のコードは次のように動作するはず:myEnum
内の各オブジェクトの上
反復をしてmyCondition1
があまりにもmyCondition2
は設定等しい場合は、次の
- を実行
isExecuted = true
- 真実ではありません上記の場合、呼び出しいくつかのものを評価する非同期メソッド、それがtrueの場合
isExecuted = true
を設定します。 - 上記をすべて待ってから
isExecuted
がまだfalseの場合は、画像をバウンスします。
ここでは、コードです:
var isExecuted = false;
myEnum.each()
{
if (myCondition1 == myCondition2) { //Synchronous
isExecuted = true;
return false; //stop the iteration
}
else {
MyAsyncFunction(myCondition2, function(isTrue) { // Asynchronous
if (isTrue) {
isExecuted = true;
return false; //stop the iteration
}
});
}
});
// Execute this ONLY when above code is finished executing
if (isExecuted == false) {
BounceImage();
}
非同期機能は常に実行されていないが、isExecuted
がtrueの場合、バウンスチェックは必ず実行されなければならないことに注意してください。
'$(" a "+ index +" img ")'の 'index'はどこから来ますか?これに対する一般的な答えは、約束と 'Promise.all'を使用することです。 –
コールバックが役に立ちますが、私はそれらをjavascriptで書くことについて知らないです –
また、「myVar」とは何ですか? – Tomalak