当前位置: 首页 > news >正文

rxjs - 创建数据流

一、创建类操作符
 
1.创造的定义:是指这些操作符不依赖任何其他Observable对象,就可以凭空或者根据其他数据源创造出一个Observable对象。
 
2.创建类操作符就是数据的源头,因此大部分创建类操作符都是静态操作符
 
二、创建同步数据流
 
1.对于同步数据流,数据之间的时间间隔可以忽略不计。
 
2.create是最简单的创建操作,内部就是直接调用创建Observable的构造函数,不需要导入任何其他模块就可以使用。(静态)
 
源码如图:
 
 
3.of,用于列举数据,产生数据是同步的,数据产生后,Observable也完结,并且of属于cold Observable,所以对于任何一个Observer订阅者都会吐出同一组数据,所以可以反复使用。(静态)
适用场景:想把已知不多的数据转成Observable对象,进行处理。
   ps:该方法在rxjs 4版本中名为just,所以如果要升级rxjs,则需要更名操作。
 
4.range,指定范围,传入参数指定开始值和长度,即可产生序列,第一个参数不一定要是整数,可以为1.5或者其他任何数字,每次只能递增1。(静态)
   适用场景:产生一个很大连续数字序列。
 
5.generate,循环创建,定制性更强,第一个参数为值,初始值,第二个参数为函数,表示继续的条件,第三个参数为函数,表示值的递增,第三个参数为函数,表示结果,应该保持这三个函数都是纯函数。(静态)
   适用场景:若在js中使用for循环实现,是用哪个rxjs实现就可以使用generate。
 
6.repeate,重复数据的数据流,可以重复上游Observable中的数据若干次,而且会在上游执行完后才会执行,若上游不执行complete,则repeate无法正常执行,该方法中参数表示重复的次数,若不传参数或为负数,则无限次执行。(动态)
   ps:该方法在rxjs 4版本中为静态操作符,可传入两个参数,第一个为循环的对象,第二个是循环的次数。
 
7.empty,产生一个直接完结的Observable,没有参数,不产生任何数据。
 
8.throw方法昌盛的Observable对象什么也不做,直接报错,传入的参数就是报错的信息。
   ps:注意throw是js中的关键字,导入时可使用别名。
 
9.never,真正的什么也不做,直到永远。
 
 
 
 

转载于:https://www.cnblogs.com/yaq-lh/p/9687155.html

相关文章:

  • Visual-UIElement-FrameworkElement,带来更多功能的同时也带来了更多的限制
  • 源码探究Java_HashMap
  • python-第一个程序
  • 【cs231n】神经网络学习笔记3
  • 实验吧 看起来有点难(手工注入加sqlmap注入)
  • 转: CSS3 @media 用法总结
  • Python_configparser模块
  • js 中的几个假值
  • Asp.Net MVC中Action跳转小结
  • Math.round(),Math.ceil(),Math.floor()的区别
  • Betsy's Tour 漫游小镇(dfs)
  • [BZOJ4010]菜肴制作
  • 11.表达式语言
  • 测量软件的使用感受
  • 关于自学C语言开始时应该注意的问题分享—未完待续......
  • “大数据应用场景”之隔壁老王(连载四)
  • 30秒的PHP代码片段(1)数组 - Array
  • canvas 五子棋游戏
  • Flannel解读
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • laravel with 查询列表限制条数
  • python3 使用 asyncio 代替线程
  • uva 10370 Above Average
  • 动态规划入门(以爬楼梯为例)
  • 前端相关框架总和
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 深度学习中的信息论知识详解
  • 学习JavaScript数据结构与算法 — 树
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​用户画像从0到100的构建思路
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #传输# #传输数据判断#
  • ${factoryList }后面有空格不影响
  • (003)SlickEdit Unity的补全
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (70min)字节暑假实习二面(已挂)
  • (day6) 319. 灯泡开关
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四) 虚拟摄像头vivi体验
  • (新)网络工程师考点串讲与真题详解
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)setTimeout 和 setInterval 的区别
  • (转)shell中括号的特殊用法 linux if多条件判断
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ... 是什么 ?... 有什么用处?
  • .NET MVC 验证码
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 中创建支持集合初始化器的类型
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NetCore部署微服务(二)
  • /etc/shadow字段详解
  • @GlobalLock注解作用与原理解析
  • @hook扩展分析