2013-11-19 3 views
0

Я использую FlashSocket на своей стороне клиента, чтобы делать вызовы на socket.io на сервере node.js.Поведение AsyncToken с Socket-Flex

Но я хочу, чтобы определенные значения и ссылки на функции были доступны в прослушивателях событий сокета.

Один из подходов, который пришел мне на ум, состоял в том, чтобы передать требуемые значения вместе с запросом и заставить сервер отправлять эти параметры вместе с данными. Но это, похоже, не помогает, так как мне нужно, чтобы обработчики функций также возвращались с результатом.

Путь я делаю это с запросом HTTP является:

var token:AsyncToken = _service.send(item.params); 
token.id = _tokenId; 
token.params = item.params; 
token.handler = item.resultHandler; // this would be called later in result or fault event handlers. 

Есть ли способ, чтобы добиться этого в гибких сокеты?

Заранее спасибо.

ответ

0

Вы можете использовать класс AsyncResponder и анонимные функции.

var token:AsyncToken = _service.send(item.params); 
token.addResponder(new AsyncResponder(
    function(event:Object, token:Object = null):void { 
     // result handler, it has access to item.params, etc. 
    }, 
    function(error:FaultEvent, token:Object = null):void { 
     // fault handler, it has access to item.params, etc. 
    } 
)); 
+0

Но что будет храниться в токене? 'var token: AsyncToken = socket.send ({data: parameters}," message ");' не работает. Я хочу, чтобы item.params был доступен в обработчике результатов, как у нас, когда мы используем asyncToken с httpService. – Sarita

+0

Я вижу. Я настрою код образца. –

+0

Значок 'var: AsyncToken = _service.send (item.params);' предназначен для HttpService. И я хочу этот тип функциональности для сокетов. Существуют ли какие-либо альтернативы для использования сокетами? – Sarita

Смежные вопросы