Rxjs takeWhile 和 filter 操作符的区别Rxjs takeWhile 和 filter 操作符的区别

简介: Rxjs takeWhile 和 filter 操作符的区别

官网链接:https://www.learnrxjs.io/learn-rxjs/operators/filtering/takewhile


import { of } from 'rxjs';
import { takeWhile, filter } from 'rxjs/operators';
// emit 3, 3, 3, 9, 1, 4, 5, 8, 96, 3, 66, 3, 3, 3
const source$ = of(3, 3, 3, 9, 1, 4, 5, 8, 96, 3, 66, 3, 3, 3);
// allow values until value from source equals 3, then complete
source$
  .pipe(takeWhile(it => it === 3))
  // log: 3, 3, 3
  .subscribe(val => console.log('takeWhile', val));
source$
  .pipe(filter(it => it === 3))
  // log: 3, 3, 3, 3, 3, 3, 3
  .subscribe(val => console.log('filter', val));

区别一目了然:


takeWhile, 当条件不满足时,Observable 设置为 completed 状态,停止 emit 值


filter, Observable 里所有满足条件的值都将被 emit


相关文章
|
8月前
rxjs 操作符 pairwise 的一个例子
rxjs 操作符 pairwise 的一个例子
37 0
rxjs 操作符 pairwise 的一个例子
|
8月前
rxjs 里 CombineLatest 操作符的一个使用场景
rxjs 里 CombineLatest 操作符的一个使用场景
28 0
|
10月前
|
缓存 JavaScript 前端开发
RxJS系列05:操作符 Operators(下)
RxJS系列05:操作符 Operators(下)
|
7月前
Rxjs tap 操作符的使用场景介绍
Rxjs tap 操作符的使用场景介绍
41 0
|
8月前
rxjs ThrottleTime 和 debounceTime 的操作符区别
rxjs ThrottleTime 和 debounceTime 的操作符区别
61 0
|
8月前
|
JavaScript
rxjs Observable filter Operator 的实现原理介绍
rxjs Observable filter Operator 的实现原理介绍
43 0
|
8月前
|
索引
rxjs 里 Skip 操作符的一个使用场景
rxjs 里 Skip 操作符的一个使用场景
84 0
|
8月前
rxjs Observable 两大类操作符简介
rxjs Observable 两大类操作符简介
41 1
|
8月前
Rxjs TakeUntil 操作符的学习笔记
Rxjs TakeUntil 操作符的学习笔记
42 0
|
8月前
RxSwift操作符操作符map、flatMap、flatMapLatest、filter的使用与区别
RxSwift操作符操作符map、flatMap、flatMapLatest、filter的使用与区别
218 1