我需要一些帮助来使函数返回可观察值。我有一个函数(我们称它为 mainFunction
),它调用异步函数(我们称它为 getAsyncWithCallback
)并执行回调。回调的一部分是返回可观察对象的异步调用(我们称之为 getData
)。
getAsyncWithCallback
是库的一部分,我无法更改它。
这是我的:
mainFunction(){
getAsyncWithCallback(() => {
let myObservable = getData();
});
}
这就是我想要做的:
mainFunction().subscribe((data) => {
// data is the data from getData()
});
实现此目标的最佳方法是什么,并将错误和完成链接到内部?
最佳答案
我的解决方案:
mainFunction(): Observable<any> {
return Rx.Observable.create(observer => {
getAsyncWithCallback((): void => {
getData().subscribe(observer);
})
})
}
mainFunction().subscribe((data) => {
console.log(data);
}));
关于typescript - RxJS 在回调中合并 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061883/