RxJS之工具操作符 ( Angular环境 )
一 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环境 )的更多相关文章
- RxJS之转化操作符 ( Angular环境 )
一 map操作符 类似于大家所熟知的 Array.prototype.map 方法,此操作符将投射函数应用于每个值 并且在输出 Observable 中发出投射后的结果. import { Compo ...
- RxJS之过滤操作符 ( Angular环境 )
一 take操作符 只发出源 Observable 最初发出的的N个值 (N = count). 如果源发出值的数量小于 count 的话,那么它的所有值都将发出.然后它便完成,无论源 Observa ...
- RxJS之组合操作符 ( Angular环境 )
一 merge操作符 把多个 Observables 的值混合到一个 Observable 中 import { Component, OnInit } from '@angular/core'; i ...
- RxJS之Subject主题 ( Angular环境 )
一 Subject主题 Subject是Observable的子类.- Subject是多播的,允许将值多播给多个观察者.普通的 Observable 是单播的. 在 Subject 的内部,subs ...
- angular环境搭建时的坑
安装angular环境踩过一些坑,最终还是把工程跑起来了,这里描述一下我的步骤,不排除有些步骤是多余的,希望能对遇到同样问题的小伙伴有帮助. 下载最新版node.js. 安装node,安装过程一路点下 ...
- RxJS中高阶操作符的全面讲解:switchMap,mergeMap,concatMap,exhaustMap
RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap) 原文链接:https://blog.angular-universi ...
- 缓存工具CacheUtil - 并发环境的缓存值存取
缓存工具CacheUtil - 并发环境的缓存值存取 目的 适合并发环境的缓存值存取 读取缓存值时,只需关注数据来源.不用再关注将源数据存入缓存等后续处理. 应用程序N次读取数据时,数据源读取一次,缓 ...
- dtGrid插件集成到Angular环境实现表格化数据展现
00没有抱怨的世界 周末效率好低,两天没更了,看看这看看那,装了个win10发现触摸板驱动不适配,然后找了好久都不行,23333. AngularJS用的时间很短,高级的用法有点吃不消了,$diges ...
- MIP开发教程(一) MIP-CLI工具安装与环境部署
依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windows node 安装-mac MIP-CLI 开 ...
随机推荐
- golang redis集群操作:redis-go-cluster
背景 感觉redis-cli desktop及其难用,最近用golang做了个redis查询工具,支持单例和集群操作,终于不再卡顿!!! 用到的包 "github.com/garyburd/ ...
- delphi 属性 参数 新注释
delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </ ...
- js删除dom节点时候索引出错问题
我们知道删除一个dom节点的时候索引就会发生了改变,甚至是错误,就算jq的ecah也无能为力,所以我们只能自己写个功能了 直接上代码把,不多说 <!DOCTYPE html> <ht ...
- VB-创建类模块DLL文件
最近需要调用MSCOMM32.OCX控件,但是ABAP调用过程中发现无法同时发送多条记录,则需调整实现方式: a.创建DLL文件封装MSCOMM控件相关属性及方法 b.系统注册DLL文件 c.ABAP ...
- HBuilder开发APP自动登录时跳过"登录页面"
刚接触开发公司APP项目,用HBuilder开发工具. manifest.json中的入口页面就是"登录页面",现在获取到自动登录状态是true,但是真机联调时"登录页面 ...
- mysql 的sleep线程过多处理方法
php程序不要使用长连接:java程序调整连接池 什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输-& ...
- Linux tr命令使用方法
tr命令主要用于删除文件中控制字符或进行字符转换.本文主要介绍tr命令的基本语法和使用实例. tr基本语法 tr命令格式:tr [ -d ] [ -c ] [ -s ] [ 字符串1 ] [ 字符串2 ...
- 半精度浮点数取5bit指数位
半精度浮点是指用16bit表示一个浮点数,最高1bit为符号位,中间5bit为指数a,低10bit为尾数b Value = (符号位)(1+b/1024)*(2^(a-16)) 程序很简单,用pyin ...
- subline 相关
ctrl + ` 输入命令: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.insta ...
- js 表单序列化为json对象
$.fn.serializeJson = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () ...