RxJS地图运算符与解构性能

问题描述 投票:0回答:1

rxjs而言,我个人认为#2不良做法-是吗?就性能而言,以下哪种方式更可取,为什么?

source$.pipe(
   map(s => s.someKey)
).subscribe(someValue => {
   workWithData(someValue)
})

source$.subscribe(({someValue}) => {
   workWithData(someValue)
})
rxjs reactivex
1个回答
0
投票

我不认为表现是这里的主要问题,它更多地取决于您的意图。第二个更好,因为调用的函数较少。

如果您打算在应用程序的其他部分中使用映射的可观察流,则应使用第一个,就像这样:

const sourceKeys$ = source$.pipe(
   map(s => s.someKey)
);
sourceKeys.subscribe(someValue => {
   workWithData(someValue)
})

如果不需要观察sourceKeys$,则可以在subscribe块中进行所有副作用和数据操作。

© www.soinside.com 2019 - 2024. All rights reserved.