rxjs 操作符 pairwise 的一个例子
生活随笔
收集整理的這篇文章主要介紹了
rxjs 操作符 pairwise 的一个例子
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Groups pairs of consecutive emissions together and emits them as an array of two values.
pairwise 將連續(xù)的發(fā)射出的值進(jìn)行分組并配對(duì),然后以數(shù)組的數(shù)據(jù)結(jié)構(gòu)進(jìn)行發(fā)射。
pairwise 返回的數(shù)據(jù)類型如下:返回一個(gè)新的 OperatorFunction,這是一個(gè)函數(shù),該函數(shù)返回一個(gè)新的 Observable,以數(shù)組的結(jié)構(gòu)包裹了源 Observable 發(fā)射的值。
OperatorFunction<T, [T, T]>: A function that returns an Observable of pairs (as arrays) of consecutive values from the source Observable.
pairwise 的彈珠圖:
下列這段代碼,計(jì)算每次屏幕點(diǎn)擊和前一次點(diǎn)擊的絕對(duì)距離:
import { fromEvent } from 'rxjs'; import { pairwise, map } from 'rxjs/operators';const clicks = fromEvent(document, 'click'); const pairs = clicks.pipe(pairwise()); const distance = pairs.pipe(map((pair) => {const x0 = pair[0].clientX;const y0 = pair[0].clientY;const x1 = pair[1].clientX;const y1 = pair[1].clientY;return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));}) ); distance.subscribe((x) => console.log(x));總結(jié)
以上是生活随笔為你收集整理的rxjs 操作符 pairwise 的一个例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天龙八部兵圣奇阵怎么刷(《新天龙八部》)
- 下一篇: 华为严打App互相拉起!不整改者直接下线