rxjs - 完成之前的可观察对象后,如何强制 RxJs 处理我的可观察对象?
问题描述
我正在尝试按顺序运行 observables(当 firstObservableStream 完成时,然后处理 secondObservableStream)。这乳清我试图模仿一些异步的东西。例如删除旧图像 --> 上传新图像 ---> 订阅输出等等。
我有一个简短的示例代码:
import { Observable, of } from 'rxjs';
import { merge, concat } from 'rxjs/operators';
const emmit$ = Observable.create(function(observer) {
setTimeout( ()=> observer.next('emmit #1'), 40);
setTimeout( ()=> observer.next('emmit #2'), 5000);
});
const process$ = Observable.create(function(observer) {
setTimeout( ()=> observer.next('process #1'), 2500);
setTimeout( ()=> observer.next('process #2'), 400);
});
const combined$ = emmit$.pipe(concat(process$));
combined$.subscribe( (val) =>{
console.log(val);
});
我期望的输出:emmit#1 --> emmit#2 --> process#1 --> process#2
真正的输出是:emmit#1 --> emmit#2
就像 $process 根本不参与顺序一样
解决方案
推荐阅读
- xquery - 在 XQuery 中,如何获得导入模块中的函数列表?
- php - 使用 ID Wordpress 主题在列表页面上隐藏类别
- xamarin - xamarin 表单:在项目选择上具有重叠弹出视图的列表视图
- function - 如何编写一个判断一个数是偶数还是奇数的 Haskell 函数?
- google-admin-sdk - 警报中心 API 范围问题
- python - 错误:无法安装包 EnvironmentError:'user/python3.8/site-packages/pip-20.2.3.dist-info/RECORD'
- javascript - 访问文本字符串的行数,react js应用程序
- graph - 带有希腊字母的 Scilab 图形轴标题
- airflow - 在 Apache Airflow 中使用 S3FileTransformOperator 上传文件时出错
- sql - 如何根据 BI 中的另一个常见字段连接多行中的文本?