Реализация метода, который возвращает AsyncToken, проста:
function doStuffLater():AsyncToken {
var token:AsyncToken = new AsyncToken(null);
// This method will randomly call the responder's 'result' or 'fault'
// handler.
function doStuff() {
var response:String = (Math.random() > 0.5)? "result" : "fault";
for each (responder:IResponder in (token.responders || [])) {
// rememeber: this is equivilent to
// responder.result(...) or responder.fault(...)
responder[response]("Got a result!");
}
}
setTimeout(doStuff, 1000);
return token;
}
Обратите внимание, что вы на самом деле не можете использовать методы applyResult
и applyFault
, потому что они передают респонденты Event
, когда респондент, кроме объекта результата или ошибки.