• 操作符
    • of
    • do
    • filter

    操作符

    操作符赋予了 Observables 的强大。如果没有了操作符,Observables 将一无是处。RxJS 中有60+个操作符

    我们来看其中一些:

    of

    1. let stream$ = Rx.Observable.of(1,2,3,4,5)

    这里我们使用了创建类型的操作符创建了 observable 。它实际上是同步的,所以值立即便输出了。事实上,它允许你用逗号分隔的要发出值的列表。

    do

    1. let stream$ =
    2. Rx.Observable
    3. .of(1,2,3)
    4. .do((value) => {
    5. console.log('emits every value')
    6. });

    这是一个非常方便的操作符,用来调试 Observable 。

    filter

    1. let stream$ =
    2. Rx.Observable
    3. .of(1,2,3,4,5)
    4. .filter((value) => {
    5. return value % 2 === 0;
    6. })
    7. // 2,4

    这样可以阻止某些值被发出

    不过请注意,可以将 do 操作符添加到一个合适的地方,并且仍然可以查看所有的值

    1. let stream$ =
    2. Rx.Observable
    3. .of(1,2,3,4,5)
    4. .do((value) => {
    5. console.log('do',value)
    6. })
    7. .filter((value) => {
    8. return value % 2 === 0;
    9. })
    10. stream$.subscribe((value) => {
    11. console.log('value', value)
    12. })
    13. // do: 1,do : 2, do : 3, do : 4, do: 5
    14. // value : 2, 4