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'多少次?你可以想象用這個簡單的承諾。 –