通过rxjs的一个例子, 来学习SwitchMap的使用方法

简介: 通过rxjs的一个例子, 来学习SwitchMap的使用方法

switchMap相关文章

rxjs里switchMap operators的用法

通过rxjs的一个例子, 来学习SwitchMap的使用方法

rxjs switchMap的实现原理

rxjs的map和switchMap在SAP Spartacus中的应用 -将高阶Observable进行flatten操作

源代码:

import { Observable, of, OperatorFunction } from "rxjs";

import { map } from "rxjs/operators";

import { interval } from "rxjs";

import { switchMap } from "rxjs/operators";

/* Projects each source value to an Observable which is merged in the output Observable, emitting values only from the most recently projected Observable.

switchMap将source value映射成一个新的Observable,这个Observable被output Observable自动merge.

只会从最新的被projected过后的Observable里emit数据

给consumer

*/

const add100 = (counter: number) => {

 return of(counter + 100);

};

const addFunctionOperator: OperatorFunction = switchMap(add100);

const pollTasks = () => {

 return interval(1000).pipe(addFunctionOperator);

};

// caller can do subscription and store it as a handle:

let tasksSubscription = pollTasks().subscribe(data =>

 console.log("timestamp: " + new Date() + ": " + data)

);

// turn it off at a later time

setTimeout(() => tasksSubscription.unsubscribe(), 3000);

image.png

目录
相关文章
|
2月前
|
存储 缓存 JavaScript
RxJS中四种Subject的用法和区别
RxJS中四种Subject的用法和区别
73 2
RxJS中四种Subject的用法和区别
|
6月前
|
前端开发
关于 rxjs 编程中的 take(1) 操作
关于 rxjs 编程中的 take(1) 操作
29 0
|
7月前
|
存储
rxjs Observable 自定义 Operator 的开发技巧
rxjs Observable 自定义 Operator 的开发技巧
35 0
|
9月前
|
JavaScript 前端开发 算法
RxJS系列06:测试 Observable
RxJS系列06:测试 Observable
|
10月前
|
前端开发 API 开发工具
MobX 源码解析-observable #86
MobX 源码解析-observable #86
86 0
|
12月前
|
JavaScript 前端开发
实战:从 Redux 中的代码片段中应用柯里化!
柯里化(Currying):是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数、返回最终结果的新函数的技术。
|
前端开发 JavaScript API
Rxjs源码解析(一)Observable
学习一个库最好的方法就是看其源码,理解其 api 的调用原理,用起来自然也就很清楚自己到底在干什么了,秉持着此观念,为了更好地理解 rxjs,抽空将其源码看了一遍 本文章不会刻意涉及概念性的东西,主线就是解读源码,并在恰当的时候给出一些小例子,源码基于 rxjs v7.4.0 版本
288 0
通过rxjs的一个例子, 来学习SwitchMap的使用方法
通过rxjs的一个例子, 来学习SwitchMap的使用方法
197 0
通过rxjs的一个例子, 来学习SwitchMap的使用方法
rxjs的一个例子:什么是rxjs的OperatorFunction?
rxjs的一个例子:什么是rxjs的OperatorFunction?
102 0
rxjs的一个例子:什么是rxjs的OperatorFunction?