【发布时间】:2012-01-10 07:02:06
【问题描述】:
这是一个奇怪的问题。我有一个使用 Crockford 式公共/私有成员构建的客户端对象:
var client = function() {
var that, remote_data, other_data;
// add public interface
that.doStuff = function(){...}
// wait for remote resources to load
remote_data = jsonRequest1();
other_data = jsonRequest2();
return that;
};
我遇到的问题是,我需要在返回新的“那个”对象(表示客户端就绪)之前加载一些远程 JSON 资源。数据是异步返回的(显然),我正在设置布尔变量来指示每个远程资源何时返回。
我想过做如下的事情:
return whenInitialized(function() { return that; });
whenInitialized 函数返回两个布尔标志是否为真。我会将它与 setInterval 结合使用,但我确信这不会起作用。
非常感谢您的建议。
【问题讨论】:
标签: javascript asynchronous closures