1
如何將數據放入ConnectableObservable?我問這是一個可觀察的數據不可用,直到一個異步函數完成的情況。一個簡單的例子:將數據添加到ConnectableObservable
function myFunc() {
let observable = Rx.Observable.create().publish();
setTimeout(() => console.info('TIMEOUT') || observable.of('data').connect(), 300);
return observable;
}
myFunc().subscribe(x => console.log(x));
我也曾嘗試
observable.map(() => 'data').connect()
observable.flatMap(() => Observable.of('data')).connect()
在我的例子中沒有成功替代.of()
。
這就是爲什麼'observable'是'ConnectableObservable '。我正在尋找一種方法,在初始創建類似於deferred = $ q.defer()'',deferred.resolve('data')'後,改變observable。 – Raven
但是你使用'observable.map(()=>'data')。connect()'永遠不會工作,因爲'map()'總是隻返回'Observable'而不是'ConnectableObservable'。 – martin
這是我不知道的。你不能'.map()''ConnectableObservable'到'ConnectableObservable'嗎?另外我不需要使用'.map()'。我只是想以延遲的方式將數據添加到「Observable」後面。類似於'$ q'的'deferred'。 – Raven