Rxjs:map 方法不在 combineLatest 上执行
Rxjs: map method doesn't execute on combineLatest
我正在尝试使用 combineLatest
将 2 个 Observable 流合并为 1 个流。
只是,.map()
函数对结果流不起作用。而且 with 不起作用,我的意思是下面的示例中没有记录任何内容。另一方面,如果我将 .map()
函数切换为 .subscribe()
函数,那么一切正常。我的 observables 来自使用 angularfire2
库的 firebase。我还导入了 map
函数,它适用于其他 Observable 流。
const placeList = this._db.list(URL)
.map(this.flattenJSON);
const placeImages = this._db.list(URL);
Observable.combineLatest(placeList, placeImages)
.map(response => {
console.log(response);
return response;
});
有谁知道为什么 subscribe
函数起作用,而 map
不起作用?有没有人建议我如何合并 2 个 firebase Observable 流并映射这个流。请注意,angularfire2
产生的 Observable 流没有结束。
如果您希望实际执行,您应该始终订阅一个可观察对象。只需在地图后链接 subscribe()
:
const placeList = this._db.list(URL)
.map(this.flattenJSON);
const placeImages = this._db.list(URL);
Observable.combineLatest(placeList, placeImages)
.map(response => {
console.log(response);
return response;
})
.subscribe();
我正在尝试使用 combineLatest
将 2 个 Observable 流合并为 1 个流。
只是,.map()
函数对结果流不起作用。而且 with 不起作用,我的意思是下面的示例中没有记录任何内容。另一方面,如果我将 .map()
函数切换为 .subscribe()
函数,那么一切正常。我的 observables 来自使用 angularfire2
库的 firebase。我还导入了 map
函数,它适用于其他 Observable 流。
const placeList = this._db.list(URL)
.map(this.flattenJSON);
const placeImages = this._db.list(URL);
Observable.combineLatest(placeList, placeImages)
.map(response => {
console.log(response);
return response;
});
有谁知道为什么 subscribe
函数起作用,而 map
不起作用?有没有人建议我如何合并 2 个 firebase Observable 流并映射这个流。请注意,angularfire2
产生的 Observable 流没有结束。
如果您希望实际执行,您应该始终订阅一个可观察对象。只需在地图后链接 subscribe()
:
const placeList = this._db.list(URL)
.map(this.flattenJSON);
const placeImages = this._db.list(URL);
Observable.combineLatest(placeList, placeImages)
.map(response => {
console.log(response);
return response;
})
.subscribe();