【发布时间】:2018-08-28 01:29:24
【问题描述】:
考虑一个需要过滤数组的简单情况。在 Angular 和 rxjs 的上下文中,我们可以同时使用 JS filter 方法和 RxJS filter 运算符。
//JS filter
let array = ['1', '2', '3', '4']
let result = array.filter(x => x == '2')[0];
//RXJS filter
const p = from(array);
let result: any;
p.pipe(filter(x => x == '2')).subscribe(x => { result = x; });
是否存在一种方法优于另一种方法的情况?我是否应该尽可能多地尝试处理 rxjs 可观察对象,尤其是在有角度的内部工作(摇树等)的情况下?
【问题讨论】:
-
尝试不带
filter的RXJS(或者甚至将过滤器反转为x != '2'),您会看到数组中的每个元素都调用了一次订阅,即往往不是你想要的。数组filter和Observable过滤器有不同的用途,具体取决于您要执行的操作。 -
@SiddharthAjmera 绝对不是,这段代码处理的是假设场景。代码审查处理具体上下文中的具体代码。此问题不适用。
-
很抱歉。我最近开始使用 CodeReview。我认为那将是一个更好的地方来问这个问题。再次,对此感到抱歉。我的错。