Rxjs基础用法

Rxjs官方库

  • 一个用来处理异步事件的js库。 例如ajax service work setTimeout setInterval Promise

observable 一个可以观察的对象

创建一个Observable(一个可观察的对象)

官方案例 创建了一个 Observable,它每隔一秒会向观察者发送字符串 ‘hi’ 。

   var observable = Rx.Observable.create(function subscribe(observer) {
            var id = setInterval(() => {
                observer.next('hi')
            }, 1000);
        });

我们可以使用subscribe来订阅observable对象

observable.subscribe(v=>{
	console.log(v) // 每隔一秒打印一个hi
})

pipe 用法

  • 一个辅助函数它存在于 Observable 上 我们可以直接在pipe函数中写opteartors运算符 tap map take 等等

tap mergeMap 等运算符

  • tap 可以理解为窥探,只看不改。但影响只局限在tap内部,不会对外产生影响
  • mergeMap 接受一个函数作为参数,必须返回一个Observable对象

import { RX, fromEvent, interval, Observable, of, take } from 'rxjs';
import { tap, mergeMap, map, timer } from "rxjs/operators";

created(){
	
	var ob = of(2)
    ob.pipe(
		tap(v =>{ console.log(v) }), // 输出: 2
		mergeMap(v => this.a()), // mergeMap 接受一个函数作为参数,必须返回一个Observable对象
		tap(v=>{ console.log(v)}), //输入:aaa
		
	)
}
a(){
	return of('aaa')
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值