フラグがtrueになるまでJavaScriptの実行を一時停止するにはどうすればよいですか?
たとえば、次のようなxmlメッセージがあります。
[...]
<action>
<resource update>id</resourceupdate>
</action>
<action>
<event>id1</event>
</action>
<action>
<event>id2</event>
</action>
<action>
<event>id3</event>
</action>
[...]
イベントノードがノードresourceupdateの処理後にのみ処理されることを望みます(ページのロードが必要になるため、処理に時間がかかります)。
私が試したイテレータ(それぞれ)でこのメッセージを処理するためのjavascriptで:
$(_response).find('ACTION').each(function() {
if (tagName=="RESOURCEUPDATE") {
ready = false;
//load the resource with selected id in an iframe
} else if (tagName=="EVENT") {
browserLoaded(); //the waiting function
eventhandler(); //consume the event
}
});
待機機能は次のとおりです。
function browserLoaded() {
if (!ready) {
setTimeout(browserLoaded(),1000);
}
}
iframeが読み込まれるとreadyvarがtrueになります。
$(iframe).load(function() {
ready = true;
});
しかし、実行すると、このエラーが発生します。
Maximum call stack size exceeded error
何か案は?ありがとう!