すると、ActionScriptでは、イベントが送出された:イベントハンドラが実行されているActionScript:イベントハンドラはいつ実行されますか?
foo.addEventListener("some event", someHandler);
foo.dispatchEvent(new Event("some event"));
どの時点で?
私はAdobe developer guideの終わりにこれをキャッチしたので、私は尋ねる:リモートサービスへの呼び出しが行われた後、いくつかのプロパティが[AsyncTokenです]に割り当てられていることを
注意してください。マルチスレッド言語では、トークンが割り当てられる前に結果が返される競合状態が存在します。 この状況は、現在実行中のコードが終了するまでリモート呼び出しを開始できないため、ActionScriptでは問題ありません。
しかし、 "現在実行中のコード"が意味することについての情報は見つかりませんでした。
も参照してください:ActionScript event handler execution order
ああ、それは私が必要としていたものです。説明をありがとう。 –
これは、2つのイベントを順番に(foo.dispatch(a)、foo.dispatch(b))2つのイベントを送出すると、イベント 'a'のハンドラが前に実行されることが保証されます'b'のハンドラ?それとも、ハンドラを実行する際に非決定性があるのでしょうか? –
いいえ、電話をかけて結果を得るのに違いがあります。ハンドラは非同期に呼び出され、bはaの前に戻ることができます。これは、最初に戻り値が返された場合、bハンドラが実行される前にaハンドラ内のすべてのコードが実行されることを意味します。 –