JScriptで関数を記述しています(JavaScriptではありません)特定のグローバル変数がtrueになるまで中断する必要があります。変数が真になるまで、私はループにしようとするとJScript待機関数
function(req, event, data) {
globalVariable = true;
}
は:
while (globalVariable!= true) {
}
私はビジーウェイトに行くと、他の機能はAJAX応答の後に呼び出されたとき グローバル変数がtrueに変更されコールバック関数が呼び出されることはありません。
WScript.wait()の使用を提案した人もいますが、私のアプリはWScriptを知るためにシームレスではありません。 SetTimeout()は、非同期呼び出しであり、元の関数を一時停止しないため、助けになりません。
他の提案はありますか?
私の質問についてのいくつかのより多くの情報: 私は私のスクリプトは、2つの機能を呼び出したい:
waitWhileAjaxIsNotCompleted();
doSomthingElse();
私はwaitWhileAjaxIsNotCompletedを(したい)(A4Jで実装)AJAX要求を送信]ボタンをクリックしますアヤックス完了時に終了します。 いつtha ajaxが完了したかを知るために、私はajaxが完了したときに目を覚ますようなリスナーとして関数を登録しました。この関数は、globalVariable値を変更します。 My waitWhileAjaxIsNotComplete()は無限ループに入り、glovalVariable値が変更されるのを待っています。それが変更されたとき(リスナーが目を覚ました後)、私は機能を終了することができます。doSomthingElse()関数を続けます。
あなたは上の実装の詳細を見ることができます:私は(もう のJscriptを使用していないので、一体私は数ヶ月前 を使用したもの覚えていないことができQTP Web extensibilty toolkit and ajax
ここでの質問と回答:http://stackoverflow.com/questions/2198449/settimeout-not-working-in-windows-script-jscript –