【发布时间】:2019-02-23 19:35:08
【问题描述】:
有没有办法多次重复完成的 observable?
假设我有一个按钮,单击该按钮会创建一个可观察到的间隔,它发出 10 个值,然后完成:
fromEvent(button, 'click').pipe(
switchMapTo(interval(500)),
takeWhile(i => i < 10)
)
在订阅中我想同时处理 next 和 complete 方法:
.subscribe(
i => console.log(i),
() => {},
() => console.log('completed')
);
以这种方式 - 第一次点击将发出一个序列,一旦完成,后续点击将不会再次发出。有什么办法可以这样写,以便所有点击都发出序列?
【问题讨论】:
-
一个观察者总是只能收到一个
complete通知。您可以使用repeat()运算符,但您将永远不会看到收到任何complete通知。 -
@martin 我们可以使用
finalize在repeat之前捕获complete吗?
标签: rxjs