Вы не завершили ни одну из двух исходных наблюдаемых, поэтому ни один оператор не может знать, что вы считаете «выполненным».Это означает, что вы можете использовать merge
или combineLatest
и обрабатывать только next
уведомления.
Однако, если вы знаете, что они всегда будут излучать только один раз, вы сможете complete
каждый источник и затем использовать forkJoin
или concat
:
const obs1 = new Observable<any>((observer) => {
setTimeout(() => {
console.log('first');
observer.next();
observer.complete();
}, 10000);
});
...
concat(obs1, obs2).subscribe({
complete: () => {
console.log('done');
}
});