varHarrie / varharrie.github.io

:blue_book: Personal blog site based on github issues.
https://varharrie.github.io
MIT License
3.66k stars 548 forks source link

[Rxjs] Combination Operators #24

Open varHarrie opened 6 years ago

varHarrie commented 6 years ago

Combination Operators

目录

combineLatest

combineLatest(...obserables: Observable[], project: (...values: any[]) => any)

const source = Rx.Observalbe.interval(500).take(3)
const newest = Rx.Observable.interval(300).take(6)

const example = source.combineLatest(newest, (x, y) => x + y)
example.subscribe((value) => console.log(value))
source : ----0----1----2|
newest : --0--1--2--3--4--5|

    combineLatest(newest, (x, y) => x + y)

example: ----01--23-4--(56)--7|

zip

zip(...obserables: Observable[], project: (...values: any[]) => any)

const source = Rx.Observalbe.interval(500).take(3)
const newest = Rx.Observable.interval(300).take(6)

const example = source.zip(newest, (x, y) => x + y)
example.subscribe((value) => console.log(value))
source : ----0----1----2|
newest : --0--1--2--3--4--5|
    zip(newest, (x, y) => x + y)
example: ----0----2----4|

withLatestFrom

withLatestFrom(...obserables: Observable[], project: (...values: any[]) => any)

const source = Rx.Observalbe.interval(500).take(3)
const newest = Rx.Observable.interval(300).take(6)

const example = source.withLatestFrom(newest, (x, y) => x + y)
example.subscribe((value) => console.log(value))
source : ----0----1----2|
newest : --0--1--2--3--4--5|
    withLatestFrom(newest, (x, y) => x + y)
example: ----0----3----6|

参考资料

RxJS Operators 详解 30 天精通 RxJS