【发布时间】:2021-09-13 19:20:42
【问题描述】:
我有一段代码负责获取 Observable<string[]>,然后将其映射到 Observable<string> 并以 1 秒的间隔发出值。
可以把它想象成网站上的消息代码。
我当前的代码在下面工作:
const arrayOfStrings$ = of([
'Warming things up',
'Getting things ready',
'Welcome'
]);
this.messages$ = arrayOfStrings$.pipe(
switchMap((messages) => from(messages).pipe(
concatMap((innerMessage) => of(innerMessage).pipe(delay(1000))),
)),
tap((message) => {
console.log(`Message: ${message}`);
})
);
有没有更好的方法来用更少的代码做到这一点?困扰我的主要是 switchMap() 和 concatMap() 在彼此内部。
感谢您的任何帮助和建议。
编辑:这是我在实际项目中运行的简化版本。我只是想找到一种更简单的方法来从 Observable
【问题讨论】:
标签: javascript angular typescript rxjs