Реализация ActionScript 3 AsyncToken
Ищите пример или ссылки на документацию о том, как реализовать метод, возвращающий AsyncToken.
Обратите внимание, что это не об использовании / использовании метода, возвращающего AsyncToken! Я хочу написать такие методы сам.
2 ответа
Решение
Реализация метода, который возвращает 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
, когда респондент, кроме результата или объекта ошибки.
Класс TestUtil в Swiz-фреймворке имеет несколько отличных способов для насмешивания поведения AsyncToken:
Брайан Котек имеет очень информативный пост в блоге о том, как использовать его для имитации вызовов на сервере с использованием фиктивных делегатов: