资源加载中... loading...

异步并发调用的一些容易写错的地方

Author: Zero, Created: 2015-10-25 11:43:18, Updated: 2015-10-25 11:47:20

    var routine = exchange.Go("GetDepth"); // 异步返回一个可以调用wait方法的对像routine
    var ret = routine.wait(1000); // 等待异步操作结束, 超时为1秒
    if (typeof(ret) !== 'undefined') { // 只要ret不是undefined就说明异步已经结束并返回了值
        Log("异步结束", ret); // 此时方法如果失败就返回null,成功就返回需要的值, 与同步返回的值是一样的
        // 对于一个已经结束了的异步调用, 不能重复wait了, 会造成策略异常退出 !!!
    } else {
        Log("超时");
        // 只有超时的才可以重新wait
    }
}```


设计此模型的时候, 为了规范代码调用, 限制:  `wait超时才可以重新调用wait`

Related

More