4

寻找有关如何实现返回 AsyncToken 的方法的示例或文档链接。

请注意,这不是关于使用/使用返回 AsyncToken 的方法!我希望自己编写这样的方法。

4

2 回答 2

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

请注意,您实际上不能使用applyResultandapplyFault方法,因为它们传递了响应者一个Event,当响应者除了结果或故障对象时。

于 2009-10-21T17:41:10.433 回答
0

Swiz 框架的 TestUtil 类有一些非常酷的方法来模拟 AsyncToken 行为:

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

Brian Kotek 有一篇内容丰富的博客文章,介绍了如何使用它来模拟使用模拟委托的服务器调用:

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

于 2009-12-26T09:10:57.507 回答