我试图按顺序运行可观察对象(当firstObservableStream完成后,再处理secondObservableStream)。我正在尝试模拟一些异步的东西。例如delete-old-image->上传新图像--->订阅输出等等。
我有一个简短的示例代码:
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->进程#1->进程#2
真正的输出是: emmit#1-> emmit#2
就像$ process根本不参与顺序