我对可观测的工作有一些误解。希望有人能帮助我。
问题是我有两个观察对象。我正在获取第一个值,如果它满足我的条件,我想在其他可观察值内更改数据。而且我不想将它们结合在一起。当我尝试更改数据时,我调用了一个函数,并且它不在第二个可观察的反应链的map
内部来。我做错了什么? (我猜都是:D)
我已经创建了一个外观粗鲁的示例。这是代码和link to playground
ngOnInit() {
this.first$ = Observable.create(observer => observer.next(1));
this.second$ = timer(0, 1000)
.pipe(
map(() => this.counter + this.incrementValue)
)
.subscribe(data => console.log('second', data));
this.first$.pipe(
map(value => {
console.log('first a', value)
return this.decrementValueInSecondObs()
})
).subscribe(data => console.log(data))
}
private decrementValueInSecondObs() {
this.second$
.pipe(
map(value => {
console.log('SECOND VALUE', value)
return this.counter - 2;
})
).subscribe(a => console.log('first b', a))
}
还有 Bonus::是否有人可以解释或附加链接,以回答我只订阅他的可观察者时为什么可以在rxjs中使用map
运算符的原因?