【发布时间】:2016-07-04 16:34:26
【问题描述】:
我遇到了一个问题。我有一个实例化具有现成布尔属性的客户端。我想等到它切换到 true 然后解决一个承诺。我尝试了很多不同的方法,包括 while 循环,它完全阻塞线程而不检查更新。
尝试一下
var startClient = function() { return new Promise((resolve, reject)=> {
var client = CreateClient();
while(!client.ready) {}
resolve(client);
});
};
我的问题是:有没有办法使用 RxJs 来提供帮助。如果 ready 属性发生变化,可能会发出和事件?下面是我正在尝试做的更多伪代码。
var startClient = function() { return new Promise((resolve, reject)=> {
var client = CreateClient();
var emitter = Observable.watch(client, 'ready');
emitter.on('ready', function(result) {
if(result) resolve(client);
});
};
有什么建议吗?谢谢!
【问题讨论】:
标签: node.js asynchronous promise rxjs observable