iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript中rxjs与Observable操作符怎么使用
  • 907
分享到

JavaScript中rxjs与Observable操作符怎么使用

2023-07-02 14:07:38 907人浏览 安东尼
摘要

这篇文章主要讲解了“javascript中rxjs与Observable操作符怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中rxjs与Observable操作符

这篇文章主要讲解了“javascript中rxjs与Observable操作符怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中rxjs与Observable操作符怎么使用”吧!

前言

Observable 生产的数据,应该提供开发人员足够的自由度,对这些数据进行各种处理,比如 map / transfORM 等等。这就是 Rxjs Operator 大展身手的地方。

运算符是对 Observable 进行操作并返回 Observable 的函数。 这允许我们链接这些运算符。 链中的每个运算符都会修改由前一个运算符的运算产生的 Observable。

链中的算子不会同时工作,而是按顺序运行,每个算子都在链中前一个算子生成的 Observable 上工作。

订阅是使用 subscribe 运算符完成的。 订阅操作符允许观察者连接 Observable。 观察者要从 Observable 获取数据或错误,首先必须订阅该 Observable。

Rxjs 里的 Operator 可以分为两大类。

1. 可以加入到 pipe 链式操作的 Operator

可管道运算符是可以链接在一起的运算符。 这些是纯函数,它们将可观察对象作为输入并提供可观察对象作为输出。

伪代码如下:

observeable.pipe(  operator1(),  operator2(),  operator3(),  operator3(),)

operator1 将接收 observable,对其执行操作并发出 observable。 从 operator1 发出的 observable 被传递给 operator2 作为输入(通过其余的运算符以此类推)。

filter、mergeMap 和 forkJoin 是可管道操作符的一些示例。

2. 创建型 Operator

创建操作符是创建新 Observable 的独立函数。最典型的创建操作符就是 of:

import { of } from 'rxjs';const observable = of(1, 2, 3);

变量 observable 是一个 Observable 类型的实例,它将发出 1、2 和 3(按顺序)。

create, of 和 from 是创建型操作符的典型例子。

3. 冷热 Observable 的区别

Code Observable 在观察者订阅它之前不会开始发出值。

相反的,Hot Observable 可以随时开始发出值,订阅者可以随时开始观察发出的值。 但是,订阅者可能会错过订阅时间之前发出的任何值。

看个例子:

import { Observable } from 'rxjs';const observable = Observable.create((observer: any) => {  observer.next('Hello World!');});observable.subscribe((message) => console.log(message)); // Hello World!

这个 Observable 发射的值就是 Hello World. 它会调用订阅者的 next 方法进行发射。

Observable.create 的输入参数是一个订阅者 subscriber. 这是一个函数,函数的输入参数是 Observer,类型为 any. 函数体为执行该输入参数的 next 方法。

JavaScript中rxjs与Observable操作符怎么使用

Observable 的构造函数很简单,就把 create 传入的函数,设置到 Observable 内部属性 _subscribe 里: 

JavaScript中rxjs与Observable操作符怎么使用

然后针对 Observable.create 返回的 Observable 实例,调用 subscribe 方法进行订阅。

JavaScript中rxjs与Observable操作符怎么使用

订阅者的逻辑通过 subscribe 方法传入,是一个函数: 

JavaScript中rxjs与Observable操作符怎么使用

toSubscriber 方法会创建一个订阅者 subscriber 实例: 

JavaScript中rxjs与Observable操作符怎么使用

JavaScript中rxjs与Observable操作符怎么使用

subscriber 的构造函数里,就是简单的为 destination 字段赋值:

JavaScript中rxjs与Observable操作符怎么使用

这里把 subscribe 函数传入的应用逻辑,赋给 safeSubscriber 的 _next 属性: 

JavaScript中rxjs与Observable操作符怎么使用

然后执行 _subscribe 方法: 

JavaScript中rxjs与Observable操作符怎么使用

这个 _subscribe 方法就是 subscribe 函数调用第一步,把 subscribe 传入的应用逻辑赋给 _subscribe 属性的那个函数。

注意,subscribe 函数调用,首先会触发 Observable 的 emit value: 

JavaScript中rxjs与Observable操作符怎么使用

JavaScript中rxjs与Observable操作符怎么使用

this._next 触发 destination.next:

JavaScript中rxjs与Observable操作符怎么使用

JavaScript中rxjs与Observable操作符怎么使用

这里调用 SafeSubscriber 的 _next 属性指向的方法,即 subscribe 传入的函数实现:

JavaScript中rxjs与Observable操作符怎么使用

总结一下,Observable.create 和 Observable.subscribe 这套调用, 首先会触发 Observable 实例调用 next 方法,发射调用创建操作符时指定的待发射值。接着会触发应用开发人员传入 subscribe 调用的业务逻辑,消费这个发射的值。

这段代码执行的先后顺序如下: 

JavaScript中rxjs与Observable操作符怎么使用

感谢各位的阅读,以上就是“JavaScript中rxjs与Observable操作符怎么使用”的内容了,经过本文的学习后,相信大家对JavaScript中rxjs与Observable操作符怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript中rxjs与Observable操作符怎么使用

本文链接: https://www.lsjlt.com/news/342477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中rxjs与Observable操作符怎么使用
    这篇文章主要讲解了“JavaScript中rxjs与Observable操作符怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中rxjs与Observable操作符...
    99+
    2023-07-02
  • JavaScript中rxjs与 Observable 两大类操作符解析
    目录前言1. 可以加入到 pipe 链式操作的 Operator2. 创建型 Operator3. 冷热 Observable 的区别前言 Observable 生产的数据,应该提供...
    99+
    2022-11-13
  • Angular搜索场景中如何使用rxjs的操作符处理
    这篇文章主要为大家展示了“Angular搜索场景中如何使用rxjs的操作符处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Angular搜索场景中如何使用rx...
    99+
    2022-10-19
  • 使用Kotlin怎么实现操作符与操作符重载
    这篇文章将为大家详细讲解有关使用Kotlin怎么实现操作符与操作符重载,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Kotlin基础教程之操作符与操作符重载Kotlin操作符的使用方法与其他...
    99+
    2023-05-31
    kotlin 操作符重载 操作符
  • typescript中keyof与typeof操作符怎么使用
    这篇文章主要介绍“typescript中keyof与typeof操作符怎么使用”,在日常操作中,相信很多人在typescript中keyof与typeof操作符怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-02
  • JavaScript的typeof操作符怎么使用
    本篇内容介绍了“JavaScript的typeof操作符怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-19
  • JavaScript中逗号操作符怎么用
    小编给大家分享一下JavaScript中逗号操作符怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!逗号操作符var ...
    99+
    2022-10-19
  • JavaScript中怎么使用操作符和表达式
    这期内容当中小编将会给大家带来有关JavaScript中怎么使用操作符和表达式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、一元操作符1.delete操作符delet...
    99+
    2022-10-19
  • JavaScript变量与操作符的使用方法
    今天小编给大家分享一下JavaScript变量与操作符的使用方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • JavaScript三元操作符怎么用
    这篇文章将为大家详细讲解有关JavaScript三元操作符怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。三元操作符当想写 if...else 语句时,使用三元操作符来代替。简写:也可以嵌套关于“Ja...
    99+
    2023-06-27
  • JavaScript中怎么实现字符串操作
    JavaScript中怎么实现字符串操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 拆分字符串JavaScript中的 split() 方法使用指定的分隔符字符串将一个...
    99+
    2023-06-20
  • 怎么使用JS中new操作符
    这篇文章主要讲解了“怎么使用JS中new操作符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用JS中new操作符”吧!首先我们来看一下实例化一个对象做...
    99+
    2022-10-19
  • JavaScript中instanceof操作符有什么用
    JavaScript中instanceof操作符有什么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在JavaScript中...
    99+
    2022-10-19
  • JavaScript中new操作符有什么用
    这篇文章给大家分享的是有关JavaScript中new操作符有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 js模拟new操作符的实现这个问题如果你在掘金上搜,...
    99+
    2022-10-19
  • 如何在JavaScript中使用new操作符
    本篇文章给大家分享的是有关如何在JavaScript中使用new操作符,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、说明(1)创建一个空对象。(2)将对象的__proto指...
    99+
    2023-06-15
  • JavaScript中new操作符的作用是什么
    这篇文章给大家介绍JavaScript中new操作符的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScrip...
    99+
    2023-06-06
  • 详解JavaScript中常用操作符的使用
    目录1、可选链操作符(optional chaining operator)2、空值合并操作符(nullish coalescing operator)3、箭头函数(Arrow Fu...
    99+
    2023-05-17
    JavaScript操作符使用 JavaScript操作符
  • python中取反操作符怎么使用
    这篇文章主要介绍了python中取反操作符怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中取反操作符怎么使用文章都会有所收获,下面我们一起来看看吧。python取反操作符~ : 按位取反运算...
    99+
    2023-07-05
  • JavaScript中强大的操作符使用详解
    目录一、一元操作符1. 递增和递减操作符(++ --)2. 加和减操作符二、位操作符1. 按位与操作符(&)2. 按位或操作符(|)3. 按位非操作符 (~)4. 按位异或运...
    99+
    2022-11-13
  • JavaScript中的new操作符的具体使用
    JavaScript中的new操作符是一个非常重要的概念,它可以让我们创建一个自定义的对象类型或者一个内置的对象类型,比如Array、Date、Function等。那么,new操作符...
    99+
    2023-05-18
    JavaScript new操作符 js new运算符
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作