Question

Recherche d'un exemple ou de liens dans la documentation sur la manière d'implémenter une méthode renvoyant AsyncToken.

Notez qu'il ne s'agit pas d'utiliser / de consommer une méthode renvoyant AsyncToken! Je souhaite écrire de telles méthodes moi-même.

Était-ce utile?

La solution

Implémenter une méthode qui retourne un AsyncToken est 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;
}

Notez que vous ne pouvez pas réellement utiliser les méthodes applyResult et applyFault, car elles transmettent un Event aux répondeurs, sauf le résultat ou l'objet d'erreur.

Autres conseils

La classe TestUtil de la structure Swiz propose des méthodes vraiment amusantes pour se moquer du comportement AsyncToken:

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

Brian Kotek a publié un article de blog très informatif sur la façon de l'utiliser pour simuler des appels de serveur à l'aide de faux délégués:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top