javascript – Observable最后订阅
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Observable最后订阅,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1298字,纯文字阅读大概需要2分钟。
内容图文
![javascript – Observable最后订阅](/upload/InfoBanner/zyjiaocheng/708/0950e97236554ba2b41abe53ede04844.jpg)
根据this artcle,订阅的onComplete和onError函数是互斥的.
onError或onComplete事件的含义将在我的订阅中启动.
我有一个逻辑块,无论是否收到错误都需??要执行,或者我成功完成了大量的信息.
我查找了像finally in python这样的东西,但我找到的只是finally,需要附加到我创建的可观察对象上.
但是我想在我订阅时,在流结束后,无论是成功还是出错,都要做这个逻辑.
有任何想法吗?
解决方法:
此运算符的当前“pipable”变体称为finalize()(自RxJS 6起).旧的和现已弃用的“补丁”运算符被称为finally()(直到RxJS 5.5).
我认为finalize()运算符实际上是正确的.你说:
do that logic only when I subscribe, and after the stream has ended
我认为这不是问题.如果需要,您可以拥有单个源并在订阅之前使用finalize().这样您就不需要总是使用finalize():
let source = new Observable(observer => {
observer.next(1);
observer.error('error message');
observer.next(3);
observer.complete();
}).pipe(
publish(),
);
source.pipe(
finalize(() => console.log('Finally callback')),
).subscribe(
value => console.log('#1 Next:', value),
error => console.log('#1 Error:', error),
() => console.log('#1 Complete')
);
source.subscribe(
value => console.log('#2 Next:', value),
error => console.log('#2 Error:', error),
() => console.log('#2 Complete')
);
source.connect();
这打印到控制台:
#1 Next: 1
#2 Next: 1
#1 Error: error message
Finally callback
#2 Error: error message
2019年1月:更新了RxJS 6
内容总结
以上是互联网集市为您收集整理的javascript – Observable最后订阅全部内容,希望文章能够帮你解决javascript – Observable最后订阅所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。