来自数组中的RXJS以相同的顺序执行
我需要执行从数组创建的可观察物。下一个可观察到的条件应等到以前的可观察到完成。提前致谢 :-)。
export class AppComponent{
arr: number[] = [5, 4, 1, 2, 3];
fetchWithObs() {
from(this.arr)
.pipe(
map((value) => {
return this.getData(value);
})
)
.subscribe((data) => {
console.log(data);
/**
* The expoected output should be
* 5 completed
* 4 completed
* 1 completed
* 2 completed
* 3 completed
*/
});
}
getData(p: number) {
return new Observable<string>((s) => {
setTimeout(() => {
s.next(`${p} completed`);
s.complete();
}, p * 1000);
});
}
}
I need to execute observables created from array. The condition is next observable should wait until previous observable has been completed. Thanks in advance :-).
export class AppComponent{
arr: number[] = [5, 4, 1, 2, 3];
fetchWithObs() {
from(this.arr)
.pipe(
map((value) => {
return this.getData(value);
})
)
.subscribe((data) => {
console.log(data);
/**
* The expoected output should be
* 5 completed
* 4 completed
* 1 completed
* 2 completed
* 3 completed
*/
});
}
getData(p: number) {
return new Observable<string>((s) => {
setTimeout(() => {
s.next(`${p} completed`);
s.complete();
}, p * 1000);
});
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
ConcatMap
。Stackblitz: https://stackblitz.com/editiit/stackblitz.com/edit/eedit/dypescript-axx8ggf?file= index.ts
Try
concatMap
.Stackblitz: https://stackblitz.com/edit/typescript-axx8gf?file=index.ts