陌小路的个人博客 陌小路的个人博客
首页
技术
时光漫谈
关于作者
GitHub

陌小路

前端切图仔
首页
技术
时光漫谈
关于作者
GitHub
  • Vue

  • React

  • 面试

  • Electron

  • Serverless

  • GraphQL

  • TypeScript

  • RxJS

    • 介绍
    • 前置知识点
    • Observable
    • Observer
    • Subscription与Subject
    • Cold-Observables与Hot-Observables
    • Schedulers
    • Operators概念
    • 创建型Operators
    • 转换操作符
    • 过滤操作符
    • 组合操作符
    • 总结
  • 工程化

  • Webpack

  • Nestjs

  • WebRTC & P2P

  • Docker

  • Linux

  • Git

  • Svelte

  • Java

  • 踩坑日记 & 小Tips

  • 其他

  • technology
  • RxJS
陌小路
2020-12-22

Observable

表示一个概念,这个概念是一个可调用的未来值或事件的集合。它能被多个observer订阅,每个订阅关系相互独立、互不影响。

r2Xwse.png

举个栗子:

假设你订阅了一个博客或者是推送文章的服务号(微信公众号之类的),之后只要公众号更新了新的内容,那么该公众号就会把新的文章推送给你,在这段关系中,这个公众号就是一个Observable,用来产生数据的数据源。

相信看完上面的描述,你应该对Observable是个什么东西有了一定的了解了,那么这就好办了,下面我们来看看在RxJS中如何创建一个Observable。

const Rx = require('rxjs/Rx')

const myObservable = Rx.Observable.create(observer => {
  observer.next('foo');
  setTimeout(() => observer.next('bar'), 1000);
});
1
2
3
4
5
6

我们可以调用Observable.create方法来创建一个Observable,这个方法接受一个函数作为参数,这个函数叫做 producer 函数, 用来生成 Observable 的值。这个函数的入参是 observer,在函数内部通过调用 observer.next() 便可生成有一系列值的一个 Observable。

我们先不应理会observer是个什么东西,从创建一个Observable的方式来看,其实也就是调用一个API的事,十分简单,这样一个简单的Observable对象就创建出来了。

编辑
上次更新: 2024/03/23, 8:03:00
前置知识点
Observer

← 前置知识点 Observer→

最近更新
01
CursorRules收集
06-04
02
资料收集
07-30
03
Java 踩坑日记
05-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 STDSuperman | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式