博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[RxJS] Implement pause and resume feature correctly through RxJS
阅读量:5077 次
发布时间:2019-06-12

本文共 1187 字,大约阅读时间需要 3 分钟。

Eventually you will feel the need for pausing the observation of an Observable and resuming it later. In this lesson we will learn about use cases where pausing is possible, and what to do when pausing is impossible.

 

const resume$ = new Rx.Subject();const res$ = resume$  .switchMap(resume =>    resume ?      Rx.Observable.interval(2000) :      Rx.Observable.empty()  )  .do(x => console.log('request it! ' + x))  .switchMap(ev => Rx.Observable.ajax({    url: 'https://jsonplaceholder.typicode.com/users/1',    method: 'GET',  }));res$.subscribe(function (data) {  console.log(data.response);});resume$.next(false);setTimeout(() => resume$.next(true), 500);setTimeout(() => resume$.next(false), 5000);

 

here use 

Rx.Observable.empty()

inside switchMap(), it means if code goes to empty(), then the rest of code:

.do().switchMap()

won't run.

 

If just subscribe, it trigger complete function:

var source = Rx.Observable.empty();var subscription = source.subscribe(  function (x) {    console.log('Next: %s', x);  },  function (err) {    console.log('Error: %s', err);  },  function () {    console.log('Completed');  });  // => Completed

 

转载于:https://www.cnblogs.com/Answer1215/p/6920445.html

你可能感兴趣的文章
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
02太空飞行计划问题
查看>>
原生js日历
查看>>
Linux FIO
查看>>
php 常用函数
查看>>
Sublime_text3怎么运行php代码
查看>>
【数据仓库】——数据仓库建模
查看>>
[Hibernate]知识点
查看>>
下载微软符号表的教程
查看>>
C++ TR1 智能指针shared_ptr的使用(转)
查看>>
Oracle 客户端 NLS_LANG 的设置
查看>>
spring boot场景启动器(2.基本的启动器依赖)
查看>>
adb shell
查看>>
关于django模型语法里面的一些坑。系统报错:Unknown command: 'validate' Type 'manage.py help' for usage....
查看>>
图片保存到本机(链接)
查看>>
python读写文件write和flush
查看>>
extjs中model的HasMany和belongTo读取xml数据的用法
查看>>