Rxjs

RxJS (Reactive Extensions for JavaScript) 是 JavaScript 的响应式编程库,它是 NestJS 中处理异步操作和事件的核心工具之一。

了解即可,使用的时候查看文档。

import { interval, Observable, take } from 'rxjs'

const observable = new Observable((subscribe) => {
  subscribe.next(1) // 传递值
  subscribe.next(2)
  subscribe.next(3)
  setTimeout(() => {
    subscribe.next(4)
    subscribe.complete() //结束
  }, 3000)
})

observable.subscribe({
  next: (num) => {
    console.log(num) // 接收执行
  },
})

const subs = interval(500) // 间隔 500 毫秒执行
  .pipe(take(5)) // 通过管道限制执行 5 次
  .subscribe((e) => {
    console.log(e) // 打印当前的次数
    subs.unsubscribe() // 停止观察
  })