Pregunta

Buscando un ejemplo de la documentación de los enlaces en cuanto a cómo implementar un método de devolución de AsyncToken.

Nota que esto no es sobre el uso/consumo de un método de devolución de AsyncToken!Quiero escribir tales métodos de mí mismo.

¿Fue útil?

Solución

La aplicación de un método que devuelve un AsyncToken es simple:

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;
}

Tenga en cuenta que en realidad no se puede utilizar el applyResult y applyFault métodos, porque pasan los socorristas de un Event, cuando el respondedor excepto el resultado o fallo objeto.

Otros consejos

La clase TestUtil de Swiz Framework tiene algunas formas realmente geniales para burlarse del comportamiento AsyncToken:

http://code.google.com/p/swizframework/source/browse/trunk/src/main/flex/org/swizframework/util/TestUtil.as

Brian Kotek tiene una publicación de blog muy informativa sobre cómo usarlo para simular llamadas al servidor utilizando delegados simulados:

http://www.briankotek.com/blog/index.cfm/2009/3/16/Swiz-Part-5-Simulating-Server-Calls-with-a-mock-AsyncToken

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top