AsyncToken вернуть основную строку? - PullRequest
0 голосов
/ 16 декабря 2011

Я пытаюсь разработать приложение Flex Mobile / PHP, и у меня возникают некоторые проблемы с AsyncToken ... Разве он не просто возвращает базовую строку?

Например ...Я хочу просто вернуть простой строковый результат из моего запроса - сейчас он будет возвращать базовую выходную строку из реализованного метода.Бэкэнд-часть работает (PHP), я сделал все это ... Именно это доставляет мне некоторые проблемы:

import mx.rpc.AsyncResponder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
protected function button_clickHandler(event:MouseEvent):void
{
    loginResult.token = user_service.login();
    loginResult.token.addResponder(new AsyncResponder(onResult,onFault));
}

public function onResult(event:ResultEvent, token:Object):void
{
    // what would i do here??
}

public function onFault(event:FaultEvent,token:Object):void
{
    txtResult.text = event.fault.faultDetail;
}

Это довольно просто - любые предложения или рекомендации наверняка помогут!Спасибо!

1 Ответ

1 голос
/ 17 декабря 2011

Достаточно просто.Свойство ResultEvent # result содержит значение, возвращаемое удаленной службой.Все, что вам нужно сделать, это привести его к нужному типу (так как по умолчанию это Object).

Например, обработка вашего сервисного метода, который возвращает строку:

public function onResult(event:ResultEvent):void {
    var s:String = event.result as String;
}

То жеподходит для других типов:

var a:Array = event.result as Array;

Или даже более сложных пользовательских классов:

var instance:MyClass = event.result as MyClass;

Обратите внимание, что этот последний пример будет работать только с удаленным взаимодействием AMF;у вас должно быть одинаковое определение класса на стороне клиента и на стороне сервера;и вы должны сообщить им о существовании друг друга, используя тег метаданных [RemoteClass(alias="net.riastar.MyClass")] в своем определении класса AS.То, как вы должны справиться с этим на стороне сервера, зависит от используемого языка.

...