码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 丁鹿学堂:前端异步进阶之Rxjs的使用


    响应式编程

    Rx, 全称Reactivbe Extension,指的是实践响应式编程的一套工具。
    Rx其实是一个大家庭,针对不同的语言都有适配。最早是微软的c#,我们前端关注的是js余元,就是RxJS
    RxJS 的特点:

    1. 数据流抽象了很多现实问题
    2. 非常擅长处理异步操作
    3. 把复杂问题分解成简单问题的组合。
    Rxjs的安装

    可以通过npm安装,也可以通过url引入的方式使用,根据自己的项目结构灵活去使用

    npm i rxjs
    
    • 1

    引入

    import {Observable} from 'rxjs'
    
    • 1
    Observable

    Observable就是可被观察者。Rxjs中的数据流就是Observable对象,Observable实现了观察者模式和迭代器模式这两种设计模式。
    观察者模式我们在之前的文章中介绍过了,原理是一样的。

    迭代器模式

    迭代器指的是能够遍历一个数据集合的对象。这个数据集合是一个统称,在代码中可以表现为数组,也可以是一个树形结构,也可以是一个单向的链表。迭代器的作用就是提供一个通用的接口,让使用者不用去关心这个数据集合的具体实现方式。
    迭代器一般都有这些特点:
    getCurrent,获取当前被指针所指向的元素
    next 将指针移动到下一个元素,调用这个函数后,getCurrent获得的元素也会发生相应的变化。
    isDone,判断是否已经遍历完所有的元素。

    import {ObserVable} from 'rxjs'
    const source = new ObserVable(subscriber => {
      subscriber.next(1)
      subscriber.next(2)
      subscriber.next(3)
    })
    source.subscribe({
      next(value){
        console.log(value)
      }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    RxJS的使用场景

    简单跟常规的异步操作的情况下,我们使用promise或者async 和await就足够了,而且相对来说更普及,大家更熟悉,利于代码的维护。
    如果有大量的异步数据的更新,而且这些的异步更新之间还有相互依赖的关系的情况下,我们可以使用RxJS结合promise。

  • 相关阅读:
    ES6(三)
    java中面向对象三大特性有哪些?
    【Github】git本地仓库建立与远程连接
    栈、队列、字符串
    JVM后端编译与优化——编译器优化技术
    HTML5笔记
    今天告诉你界面控件DevExpress WinForms为何弃用经典视觉样式
    JavaScript【浏览器环境概述(BOM)、回流和重绘 、定时器之 setTimeout()、定时器之 setInterval()、定时器实操、防抖(debounce)】(十六)
    那些一门心思研究自动化测试的人,后来怎样了?
    【全志T113-S3_100ask】2-编写第一个驱动
  • 原文地址:https://blog.csdn.net/qq_38525381/article/details/127872209
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号