Rxjs操作符理解篇

2023-09-21 10:46:45

创建运算符

ajax
bindCallback: 把回调 API 转化为返回 Observable 的函数
bindNodeCallback: 把 Node.js 式回调 API 转换为返回 Observable 的函数。
defer
empty
from
fromEvent
fromEventPattern
generate
interval
of
range
throwError
timer
iif

调度器

queue: 接受三个参数,第一个是 callback,第二参数是延时执行的 missll, 第三个参数是第一个参数的实参
asap: 会尽全力最小化当前执行代码和开始调度任务的时间,类似于 promise.then 微任务。比异步任务先执行。
async: 异步地调度任务,通过将它们放入 JavaScript 事件循环中。它被认为是适时地延时任务或者 按时间间隔重复调度任务的最佳实践
animationFrame: 如果没有延时, animationFrame 调度器可以被用来创建丝滑的浏览器动画。它可以保证在下一次浏览器重绘之前 调度执行任务,从而尽可能高效的执行动画。

多播

Subject: 类似广播的 Observable,称之为多播。
BehaviorSubject: 行为多播,内部默认传入数值 0,每当订阅者添加订阅时会接收历史广播推送的最后一条订阅信息,其他行为和 Subject 是一样的。
ReplaySubject: 重放多播,接收一个数值参数,参数决定订阅者添加订阅时会接收历史广播推送的最后几条条订阅信息,其他行为和 Subject 是一样的。
AsyncSubject: 异步多播,只有在调用 complete 时,才会把最后送出的值返回,有点类似 promisethen 情况。

多播运算符

multicast: 将一个 observable 关联到 subject,但是需要手动执行 connect, 也需要适当时机去卸载。可以使用 refCount 实现自动化关联。
publish: multicast(new Rx.Subject()) 是这个简化方式
publishBehavior: multicast(new Rx.BehaviorSubject(0)) 是这个简化方式
publishLast: multicast(new Rx.AsyncSubject(1)) 是这个简化方式
publishReplay:
share: publish + refCount 可以在简化成 share
refCount: 使用了 multicast 连接方式就能使用 refCount,能够在被订阅的时机自动帮你执行 connect,当全部退订时,原 observable

更多推荐

自定义指令

一,原生指令v-bind:属性名="变量名"v-on:事件名="函数名"缩写模式::属性名="变量名"@事件名="函数名"示例:<inputtype="text"v-bind:disabled="isDisabled"v-on:change="change"/><inputtype="text":disabled="i

「工具|数据接口」免费公开的REST API & 如何借助github搭建自己的fake API接口

本文主要介绍日常开发、测试、教学或者分享中,可能遇到的模拟数据问题。分享免费开发的测试数据接口,以及如何利用github快速搭建定制化的接口数据,避免使用真实数据的风险以及自己现编数据的麻烦。文章目录一、场景说明二、免费公开的FakeRESTAPI:jsonplaceholder三、借助GitHub和MyJSONSer

手机全自动无人直播系统,成为商家实景无人直播带货好帮手!

商家手机无人直播系统最近太火爆了,那么,这个产品究竟是什么呢?全自动无人直播系统是一款手机自动直播软件,目地在于帮助广大商家和企业实现无人直播卖货,从而解放双手、降低人工干预的需求。当然,无人直播系统除了个人可以使用,拿来直播卖货等,也适合创业者,创业模式一是可以oem贴牌,二是直接进行渠道代理。通过OEM贴牌,用户可

微服务架构介绍

系统架构的演变1、技术架构发展历史时间轴①单机垂直拆分:应用间进行了解耦,系统容错提高了,也解决了独立应用发布的问题,存在单机计算能力瓶颈。②集群化负载均衡可有效解决单机情况下并发量不足瓶颈。③服务改造架构虽然系统经过了垂直拆分,但是拆分之后发现有重复的功能,比如,用户注册、发邮件等等,一旦项目大了,集群部署多了,这些

光伏监控系统在光伏电站运营中的作用及发展

摘要:光伏电站,具体来说便是相连于电网并将电力输送给电网的光伏发电系统,是我国重点和全力发展的绿色能源项目。其中,监控自动化系统的接入,属于光伏电站应用中的重要部分。对于光伏区监控系统的探究,可以使光伏电站接入自动化系统有相应的提升,进而强化电站的运行效率和运维效率,进一步降低运维成本。关键词:光伏监控系统;光伏电站运

【Vue2.0源码学习】生命周期篇-模板编译阶段(template)

文章目录1.前言2.模板编译阶段分析2.1两种$mount方法对比2.2完整版的vm.$mount方法分析3.总结1.前言前几篇文章中我们介绍了生命周期的初始化阶段,我们知道,在初始化阶段各项工作做完之后调用了vm.$mount方法,该方法的调用标志着初始化阶段的结束和进入下一个阶段,从官方文档给出的生命周期流程图中可

GB28181学习(五)——实时视音频点播(信令传输部分)

要求实时视音频点播的SIP消息应通过本域或其他域的SIP服务器进行路由、转发,目标设备的实时视音频流宜通过本域的媒体服务器进行转发;采用INVITE方法实现会话连接,采用RTP/RTCP协议实现媒体传输;信令流程分为客户端主动发起和第三方呼叫控制两种方式,本文主要介绍客户端主动发起的方式;应具有媒体流保活机制;流程客户

第二十七章 Classes - 引用其他类成员

文章目录第二十七章Classes-引用其他类成员引用其他类成员第二十七章Classes-引用其他类成员引用其他类成员在方法中,使用下面的语法来引用其他类成员:要引用ObjectScript中的参数,使用如下表达式:..#PARAMETERNAME只能使用ObjectScript直接访问参数。要从Python访问参数,请

助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】

文章目录前言08:可视化工具Grafana介绍09:可视化工具Grafana部署10:Grafana集成Prometheus11:Grafana集成MySQL监控前言项目所需工具:链接:https://pan.baidu.com/s/1sIa8nninf2Fz6YqE3vUpqQ?pwd=5wr3提取码:5wr3–来自

Android 匿名共享内存的使用

注:本文内容转载自如下文章:Android匿名共享内存的使用AndroidView的绘制是如何把数据传递给SurfaceFlinger的呢?跨进程通信时,数据量大于1MB要怎么传递呢?用匿名共享内存(Ashmem)是个不错的选择,它不仅可以减少内存复制的次数,还没有内存大小的限制。这篇文章介绍在Java层如何使用匿名共

SkyWalking9.5.0安装与SpringBoot性能链路监控

文章目录1、下载安装1.1、安装Elasticsearch存储1.2、安装SkyWalking服务器端2、监控微服务2.1、监控SpringBoot微服务2.1、监控SpringCloudGateway网关Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,M

热文推荐