0
我想我正在尝试做一些简单的事情,但我没有解决它的运气。我想创建一个observable,通知其订阅者何时调用另一个对象的方法。我认为RxJS Observable是正确的方法,但我不知道如何创建我的Observable。我无法像在DataLib库中那样修改handle.ready函数。如何从方法创建rxjs可观察值
//Lets say I need to Observe the handle object for when it calls ready().
let handle = DataLib.getDataAsyncronously();
//sometime in the future DataLib will call handle.ready() which means that
//the data is ready.
let myObservable = Rx.Observable.XXXXXX(handle.ready() is called);
myObservable.subscribe(()=>{
//handle.ready() method just got called.
//Do something now that handle.ready() has been called by DataLib.
});
如何创建myObservable,以便在handle.ready()被调用时通知订阅者?
我不清楚你想做什么。一个箱子会有所帮助。看起来你有不正确的订购。在你的代码中,无论“handle”是什么,observable都被创建和订阅。在不了解handle/getMyHandle的情况下,我很难提出建议。您可能想要使用“创建”方法。或者,一个Rx.Subject可以工作。坚持'const subject = new Rx.Subject();'然后在getMyHandle.ready()'subject.onNext('event')里'' –
你是对的,如果我有权修改ready()方法,我可以按照你的建议去做。但是,句柄对象来自另一个库,所以我无法修改ready方法。我知道的唯一事情就是在将来的某个时候,handle.ready()将被调用。当handle.ready()被调用时,我想让我的订阅者知道,以便他们可以获取他们一直在等待的数据。谢谢。 –
调用'handle.ready'多少次?你可以想象用这个简单的承诺。 –