【发布时间】:2017-01-24 14:01:33
【问题描述】:
我的 rxjs 流程中有一个地图操作
streaming.map((data) => {
//example async call
methodCall.then((response) => {
return data.test
})
})
.filter((value) => ...);
问题是在 data.test 自然返回之前调用过滤器。所以我尝试将其转换为 switchMap 并返回一个 observable
streaming.switchMap((data) => {
return Observable.create((observer) => {
//example async call
methodCall.then((response) => {
observer.next(data.test);
observer.complete();
});
});
})
.filter((value) => ......);
我假设在这种情况下,因为我们要返回一个带有明确计时的可观察对象,所以过滤器将仅在调用observer.complete 之后调用,但过滤器被过早调用且值变量未定义。
我通常如何使用 rxJs 完成此操作
【问题讨论】:
标签: javascript asynchronous rxjs reactive-programming