一 delay操作符

源Observable延迟指定时间,再开始发射值。

import { Component, OnInit } from '@angular/core';
import { of } from 'rxjs/observable/of';
import { delay } from 'rxjs/operators/delay'; @Component({
selector: 'app-util',
templateUrl: './util.component.html',
styleUrls: ['./util.component.css']
})
export class UtilComponent implements OnInit { constructor() { } ngOnInit() {
console.log(new Date());
of('Mike', 'Leo').pipe(delay(1000))
.subscribe(val => {
console.log(new Date(), val);
});
}
}

二 do/tap操作符

do、tap ( 窃听 ) 是两个完全相同的操作符,用于窃听Observable的生命周期事件,而不会产生打扰。

import { Component, OnInit } from '@angular/core';
import { of } from 'rxjs/observable/of';
import { tap } from 'rxjs/operators/tap'; @Component({
selector: 'app-util',
templateUrl: './util.component.html',
styleUrls: ['./util.component.css']
})
export class UtilComponent implements OnInit { constructor() { } ngOnInit() { // tap在subscribe之前执行
of('Mikey', 'Leo').pipe(
tap(
val => {
console.log('tap next', val);
},
null,
() => {
console.log('tap complete');
}
)
)
.subscribe(
val => {
console.log('subscribe next', val);
},
null,
() => {
console.log('subscribe complete');
}
); // 没有订阅,tap不执行
of('Raph', 'Don').pipe(
tap(
val => {
console.log('tap next', val);
},
null,
() => {
console.log('tap complete');
}
)
);
}
}

RxJS之工具操作符 ( Angular环境 )的更多相关文章

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

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

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

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

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

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

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

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

  5. angular环境搭建时的坑

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

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

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

  7. 缓存工具CacheUtil - 并发环境的缓存值存取

    缓存工具CacheUtil - 并发环境的缓存值存取 目的 适合并发环境的缓存值存取 读取缓存值时,只需关注数据来源.不用再关注将源数据存入缓存等后续处理. 应用程序N次读取数据时,数据源读取一次,缓 ...

  8. dtGrid插件集成到Angular环境实现表格化数据展现

    00没有抱怨的世界 周末效率好低,两天没更了,看看这看看那,装了个win10发现触摸板驱动不适配,然后找了好久都不行,23333. AngularJS用的时间很短,高级的用法有点吃不消了,$diges ...

  9. MIP开发教程(一) MIP-CLI工具安装与环境部署

    依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windows node 安装-mac MIP-CLI 开 ...

随机推荐

  1. 区分slice,splice和split方法

    1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...

  2. leetcode题解 Generate Parentheses

    原文链接:https://leetcode.com/problems/generate-parentheses 给出数字n,求n对括号组成的合法字符串. 刚做出来,敲完代码,修改了一次,然后提交,ac ...

  3. js 引入外部文件之 script 标签

    在我的理解看来,html 就是一个单纯的管显示问题,js就是单纯的管动作问题,css就是单纯的管布局问题,这三个构成了一个网页 在HTML中,经常会用到引入js 文件. 引入js的方法很简单: 1. ...

  4. Linux命令之lsof

    1.lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. ...

  5. 尚硅谷springboot学习3-helloworld程序

    1.环境准备 –jdk1.8:Spring Boot 推荐jdk1.7及以上:java version "1.8.0_112" –maven3.x:maven 3.3以上版本:Ap ...

  6. Zabbix邮件报警配置

    一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...

  7. 吴裕雄 python神经网络(6)

    import randomimport numpy as npnp.random.randint(0,49,3) ##required libarariesimport tensorflow as t ...

  8. 学JS的心路历程-函式(二)arguments

    参数(argument)与函式参数(parameter) 在讨论函式时,很多人都会把这两个搞混,我自己也不例外. 虽然讲错别人也听得懂,但是我们还是要搞清楚这两个的定义到底是什么! 参数是当我们呼叫函 ...

  9. 使用qt creator4.XXX,b编辑和调试caffe,太好用了

    一直想看caffe的源代码,网上看了一个qt的例子,但是自己也有qt creator,怎么就不行 后面发现是自己的版本太低所以不好用(可能是自己能力有限) 可以参考下面这个链接: 使用qt creat ...

  10. hdu1753-大明A+B-(java大数)

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...