博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[RxJS] Use `lift` to Connect a `source` to a `subscriber` in RxJS
阅读量:6271 次
发布时间:2019-06-22

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

The lift method on each source hides away the internals of RxJS so you can simply connect a source to the subscriber you're working with. The lift method take an object with a call function with subscriber and source arguments, then it's up to you how you want to connect them together.

 

Previous we created a custom subscriber, we do it in subscribe() function:

import { from, Subscriber } from "rxjs";const observable$ = from([1, 2, 3, 4, 5]);const subscriber = {  next: value => {    console.log(value);  },  complete: () => {    console.log("done");  },  error: value => {    console.log(value);  }};class DoulbeSubscriber extends Subscriber {  _next(value) {    this.destination.next(value * 2);  }}observable$.subscribe(new DoulbeSubscriber(subscriber));

 

Of course it isn't ideal to do the transformation in subscriber.

Better way is that we can do though `pipe`, create a custom subscriber and using in the pipe:

const doulbe = source => {  return source.lift({    call(sub, source) {      source.subscribe(new DoulbeSubscriber(sub));    }  });};observable$.pipe(doulbe).subscribe(subscriber);

 

We can use `lift` function which accpet an object has a call(subscriber, source).

转载地址:http://ynlpa.baihongyu.com/

你可能感兴趣的文章
Windows Azure 常见问题及测试题
查看>>
android-genymotion模拟器使用
查看>>
phpstudy2018 windows 下搭建https 环境
查看>>
使用guava来进行优雅的函数式编程
查看>>
C++ - 判断文件夹(folder)是否存在(exist)
查看>>
小程序-修改多级数据
查看>>
不管10天20天这都是个悲剧何必呢
查看>>
建立简单的FTP服务器
查看>>
OWA登录页面显示为英文而不是中文
查看>>
711B - 人性的弱点
查看>>
PHP使用Memached实现Session储存
查看>>
IDEA debug调试技巧
查看>>
非常好的Python学习资源收集整理
查看>>
java 图片等比压缩
查看>>
Oracle 创建普通用户,并赋予权限
查看>>
我的友情链接
查看>>
android工程目录结构,及相关文件获取方式(1)
查看>>
Vsftpd内网映射相关原理及配置
查看>>
Linux非对称路由
查看>>
在iOS 8中使用UIAlertController
查看>>