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