Rxjs学习

学多少就记录多少

Rxjs学习

可以理解为处理非异步的loadsh,ng中处理异步常用

创造类

create

import { Observable } from 'rxjs';

const observable = new Observable((observer)=>{
      observer.next(123)
})

of

类似于一个迭代器,将参数迭代然后发出

import { of } from 'rxjs';

var source = of('Jerry', 'Anna');

from

参数必须是一个类数组

fromPromise

遍历promise

fromEvent

可以将事件转化成流

import { fromEvent } from 'rxjs';

const div:HTMLElement = document.getElementById('main5') as HTMLElement
    let eventListener = fromEvent(div, 'click');
    eventListener.subscribe(res=>{
      console.log(454)
    })

interval

interval创建一个每间隔指定时间发出一次事件的observable

import { interval } from 'rxjs';
    const timer = interval(1000).subscribe(res=>{
      console.log(res)
    })
    // 0
    // 1
    // ...  从0开始一秒打印一次

    //停止
    setTimeout(()=>{
      timer.unsubscribe()
    },2000)

timer

同interval 能传入两个参数 第一个代表首个元素发出的时间,第二个参数代表后面元素发出的间隔时间

Subject 和 BehaviorSubject

  • BehaviorSubject是可以存储最后一条数据或者初始默认值的, 所以无论订阅者什么时候subscribe到数据源BehaviorSubject上, 都能接收到数据。
  • BehaviorSubject需要初始值
  • 可以**next()**中传递东西,next()是异步任务

subscribe 订阅

  • 得先订阅 才能收到东西
  • 是同步任务

pipe

可以往里面加一些操作

import { catchError, filter, mergeMap, switchMap, take, tap } from 'rxjs/operators';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值