就rxjs
而言,我个人认为#2不良做法-是吗?
就性能而言,以下哪种方式更可取,为什么?
source$.pipe(
map(s => s.someKey)
).subscribe(someValue => {
workWithData(someValue)
})
或
source$.subscribe(({someValue}) => {
workWithData(someValue)
})
答案 0 :(得分:2)
我不认为表现是这里的主要问题,它更多地是关于您的意图。第二个更好,因为调用的函数较少。
如果计划在应用程序的其他部分中使用映射的可观察流,则应使用第一个,例如:
const sourceKeys$ = source$.pipe(
map(s => s.someKey)
);
sourceKeys.subscribe(someValue => {
workWithData(someValue)
})
如果不需要sourceKeys$
作为观察对象,则可以在subscribe
块中进行所有副作用和数据操作。