【发布时间】:2016-09-16 11:36:57
【问题描述】:
我将流存储为变量,然后订阅它 3 次。
正如我一开始想象的那样,它会执行一个操作,然后在最后获取它触发的下一个数据,每个人都会得到它的一个更新。这是错误的,因为它为每个订阅者执行一个操作,在这种情况下意味着许多 API 调用。如果我创建一个主题,然后用它订阅观察者并让其他人订阅这个主题,那么它就可以工作。 不幸的是,我是 RP 新手,你能解释一下这里发生了什么吗?
this.listStream = Observable
.interval(this.refreshInterval)
.do(() => console.log('call the api 3 times'))
.map(i => fruitApiStream)
.startWith(fruitApiStream)
.flatMap<FruitDto[]>(s => s)
.map<Fruit[]>(
s => s.map(s => {
return new Fruit(s.fruitId, s.name);
}));
【问题讨论】:
标签: javascript angular typescript reactive-programming rxjs