[RxJS] Transformation operators: delay and delayWhen
2016-05-27 18:39
691 查看
This lessons teaches about delay and delayWhen: simple operators that time shift.
delay(number | date)
delayWhen( function :Observable): accept a function which return an observable:
delay(number | date)
var foo = Rx.Observable.interval(500).take(5); /* --0--1--2--3--4| delay(1000) -----0--1--2--3--4| */ // delay(1000) var result = foo.delay(1000); result.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); }, );
var foo = Rx.Observable.interval(500).take(5); /* --0--1--2--3--4| delay(date) -----0--1--2--3--4| */ var date = new Date(new Date().getTime() + 1000); var result = foo.delay(date); result.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); }, );
delayWhen( function :Observable): accept a function which return an observable:
var foo = Rx.Observable.interval(500).take(5); /* --0--1--2--3--4| delayWhen(x => --------0--------...) --------0--------1--------2--------3--------4| */ // delay(1000) var result = foo.delayWhen(x => Rx.Observable.interval(x * 1000) // For each foo, it will delay 1000 * x, so '2' --> 2000, '3' ---> 3000 ); result.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); }, );
相关文章推荐
- 文章标题
- js一键复制,Clipboard.js:不用Flash实现剪贴板功能的轻量级JavaScript库
- javascript 面向对象基础(三)面向对象的常用属性和方法
- js犀牛书
- irda-objs和irda-obj的差别,烧写一个字母的悲剧
- JavaScript获取URL参数
- JavaScript笔记(3)关于重复的定义和遗漏的定义
- JSP生命周期 ,Servlet生命周期
- DOM设置表格隔行变色js代码及鼠标悬停在哪行,哪行字体就加粗效果
- 编写高质量的 JavaScript 代码(一)
- SP namespace (sp.js)
- js中数字取整,保留小数位
- 使用js获取url里的指定参数
- JSON 之FastJson解析
- javascript 用函数实现“继承”
- extjs Form验证、表单验证、表单错误提示位置
- MVC js 传参 中文乱码 utf-8
- JSONModel解析数据成Model
- 利用JSP实现Ajax
- JavaScript里的数组转化新方法Array.From