一 of操作符

  1. import { Component, OnInit } from '@angular/core';
  2. import { of } from 'rxjs/observable/of';
  3. import { Observable } from 'rxjs/Observable';
  4.  
  5. @Component({
  6. selector: 'app-create',
  7. templateUrl: './create.component.html',
  8. styleUrls: ['./create.component.css']
  9. })
  10. export class CreateComponent implements OnInit {
  11.  
  12. constructor() { }
  13.  
  14. ngOnInit() {
  15.  
  16. // 从数组创建
  17.  
  18. const arr = ['red', 'yellow', 'blue'];
  19. const colors: Observable<string[]> = of(arr);
  20. colors.subscribe((colorsArr: string[]) => {
  21. console.log(colorsArr);
  22. });
  23.  
  24. // 从迭代器对象创建
  25.  
  26. const map: Map<string, any> = new Map();
  27. map.set('fruit', 'orange');
  28. of(map).subscribe(
  29. (fruitsMap: Map<string, any>) => {
  30. console.log(fruitsMap);
  31. }
  32. );
  33. }
  34.  
  35. }

二 from操作符

  1. import { Component, OnInit } from '@angular/core';
  2. import { from } from 'rxjs/observable/from';
  3. import { Observable } from 'rxjs/Observable';
  4.  
  5. @Component({
  6. selector: 'app-create',
  7. templateUrl: './create.component.html',
  8. styleUrls: ['./create.component.css']
  9. })
  10. export class CreateComponent implements OnInit {
  11.  
  12. constructor() { }
  13.  
  14. ngOnInit() {
  15.  
  16. // 从数组创建
  17.  
  18. const arr = ['red', 'yellow', 'blue'];
  19. const colors: Observable<string> = from(arr);
  20. colors.subscribe((color: string) => {
  21. console.log(color);
  22. });
  23.  
  24. }
  25.  
  26. }

三 interval操作符

返回从0开始的无限自增整数序列,每个固定的时间间隔发送。第一次并 没有立马去发送, 而是第一个时间段过后才发出。

  1. import { Component, OnInit } from '@angular/core';
  2. import { interval } from 'rxjs/observable/interval';
  3. import { Observable } from 'rxjs/Observable';
  4.  
  5. @Component({
  6. selector: 'app-create',
  7. templateUrl: './create.component.html',
  8. styleUrls: ['./create.component.css']
  9. })
  10. export class CreateComponent implements OnInit {
  11.  
  12. constructor() { }
  13.  
  14. ngOnInit() {
  15.  
  16. interval(1000).subscribe((val: number) => {
  17. console.log(val);
  18. });
  19.  
  20. }
  21.  
  22. }

四 range操作符

range 操作符顺序发出一个区间范围内的连续整数, 你可以决定区间的开始和长度。

  1. import { Component, OnInit } from '@angular/core';
  2. import { range } from 'rxjs/observable/range';
  3. import { Observable } from 'rxjs/Observable';
  4.  
  5. @Component({
  6. selector: 'app-create',
  7. templateUrl: './create.component.html',
  8. styleUrls: ['./create.component.css']
  9. })
  10. export class CreateComponent implements OnInit {
  11.  
  12. constructor() { }
  13.  
  14. ngOnInit() {
  15.  
  16. range(600, 10).subscribe((val: number) => {
  17. console.log(val);
  18. });
  19.  
  20. }
  21.  
  22. }

Rxjs之创建操作符(Angular环境)的更多相关文章

  1. RxJS之工具操作符 ( Angular环境 )

    一 delay操作符 源Observable延迟指定时间,再开始发射值. import { Component, OnInit } from '@angular/core'; import { of ...

  2. RxJS之转化操作符 ( Angular环境 )

    一 map操作符 类似于大家所熟知的 Array.prototype.map 方法,此操作符将投射函数应用于每个值 并且在输出 Observable 中发出投射后的结果. import { Compo ...

  3. RxJS之过滤操作符 ( Angular环境 )

    一 take操作符 只发出源 Observable 最初发出的的N个值 (N = count). 如果源发出值的数量小于 count 的话,那么它的所有值都将发出.然后它便完成,无论源 Observa ...

  4. RxJS之组合操作符 ( Angular环境 )

    一 merge操作符 把多个 Observables 的值混合到一个 Observable 中 import { Component, OnInit } from '@angular/core'; i ...

  5. RxJS之Subject主题 ( Angular环境 )

    一 Subject主题 Subject是Observable的子类.- Subject是多播的,允许将值多播给多个观察者.普通的 Observable 是单播的. 在 Subject 的内部,subs ...

  6. RxJS 中的创建操作符

    RxJs 中创建操作符是创建数据流的起点,这些操作符可以凭空创建一个流或者是根据其它数据形式创建一个流. Observable的构造函数可以直接创建一个数据流,比如: const $source=ne ...

  7. RxJS中高阶操作符的全面讲解:switchMap,mergeMap,concatMap,exhaustMap

    RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap) 原文链接:https://blog.angular-universi ...

  8. angular环境搭建时的坑

    安装angular环境踩过一些坑,最终还是把工程跑起来了,这里描述一下我的步骤,不排除有些步骤是多余的,希望能对遇到同样问题的小伙伴有帮助. 下载最新版node.js. 安装node,安装过程一路点下 ...

  9. Python 创建本地服务器环境生成二维码

    一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管 ...

随机推荐

  1. js 验证码倒计时

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. linux集群时间同步搭建

    http://xstarcd.github.io/wiki/sysadmin/ntpd.html http://www.voidcn.com/blog/xuxudede1989/article/p-4 ...

  3. Scrapy框架--代理和cookie

    如何发起post请求? 代理和cookie: cookie:豆瓣网个人登录,获取该用户个人主页这个二级页面的页面数据. 如何发起post请求? 一定要对start_requests方法进行重写. 1. ...

  4. while read line

    # grep "请求报文:" application-20170822-*.log >> applog # cat applog|cut -d ":" ...

  5. Object-c 协议@protocol(@required、@optional)

    一.什么是协议? 1.协议声明了可以被任何类实现的方法2.协议不是类,它是定义了一个其他对象可以实现的接口3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议.4.协议经常用来实现委托 ...

  6. How to Pronounce the Numbers 1 – 10

    How to Pronounce the Numbers 1 – 10 Share Tweet Share Tagged With: Numbers Numbers are something you ...

  7. Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)

    Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...

  8. npm run dev 报错:missing script:dev

    一.问题: 今天在运行vue项目时,在mac终端输入npm run dev,结果报错: 翻译是: npm错误:缺少script:dev npm错误:完整路径见:users/mymac/ .npm/_l ...

  9. php 查看当前页中的post及get数据

    file_put_contents("log1209.html",date('Y-m-d H:i:s ')."-----<br>",FILE_APP ...

  10. ANg-别人家的笔记

    http://blog.csdn.net/scruelt/article/details/78997697 https://github.com/fengdu78/Coursera-ML-Andrew ...