2

HTML5 WebSocket サーバー用の AS3 クライアントの作成を任されました。

私の最初の考えは、AS3 の既存のクラスのいくつかを使用してこのサービスを作成することです。つまり、RemoteObject をエミュレートしようとしていますが、調べてみると、ASyncToken のポイントがよくわかりません!

トークンがサーバー呼び出しとその応答の間の何らかの形式の参照として使用されていることは理解していますが、それがどこでどのように一意の識別子になるのかわかりません。

たとえば、次の短いコードを見てください。

 var token:AsyncToken = myService.myCall(params);
 news.addResponder(new Responder(onResult, onFault));

 function onResult(event:ResultEvent) {
   // do stuff
 }

 function onFault(event:FaultEvent) {
   // do stuff
 }

明らかに、トークンには独自のレスポンダーがあり、サービスはトークン メッセージの辞書を保持できますが、どちらかが応答する前に myService.myCall を 2 回呼び出すと、サービスは応答を関連付けるトークンを認識しますか? サービスは一意の識別子を作成して応答をトークンに関連付けますか?または、このような状況では失敗しますか?

呼び出し用に独自の一意の識別子を内部に保存する場合、トークンを完全にスキップして呼び出しパラメーターでレスポンダーを渡すよりも良い方法はありますか? 例えば

 myResponder = new Responder(onResult, onFault);
 myService.myCall(myIResponder, <additional params>);

 function onResult(event:ResultEvent) {
   // do stuff
 }

 function onFault(event:FaultEvent) {
   // do stuff
 }
4

3 に答える 3

2

次の 2 つの点が際立っています。

  1. 複数のレスポンダーを AsyncToken に割り当てることができます。
  2. AsyncToken の結果をバインドできます。

作業しているデータの種類によっては、これら 2 つのことが役立つ場合があります。また、これ以外にも役立つことがあります。

于 2011-01-13T12:38:18.933 に答える
0

より複雑なアプリケーションの場合、AsyncToken を使用すると、データの受信やエラーの処理に対する関数/クロージャー/メソッドの柔軟性が少し向上します。

于 2011-01-13T15:20:22.427 に答える