This question already has answers here:
RxJS takeWhile but include the last value
(6个答案)
12个月前关闭。
我有以下代码:
一旦
如果仅在
我还应如何纳入最后的比赛?
如果您使用的是旧版本,则必须执行其他操作,例如将
我相信包容性的最后一个是在6.4.0中添加的。
(6个答案)
12个月前关闭。
我有以下代码:
const kickstart$ = curry((pred, iStream, hStream) =>
iStream()
.pipe(
take(1),
flatMap(({processId: pid}) => poller$(hStream(pid))),
takeWhile(pred),
catchError(x => of(x))
)
)
一旦
takeWhile
函数返回false,就可以使用pred
语句停止流。问题是,我还希望发出那些最终值,以便订阅者可以知道流的最终状态是什么,其中包含诸如status: stopped
或status: error
之类的信息,但随后我希望它在此之后结束。如果仅在
status !== "stopped" || status !== "error"
中检查takeWhile
,则不会发出该最终事件。我还应如何纳入最后的比赛?
最佳答案
您使用哪个rxjs
版本?
已经有一个带有inclusive last
布尔标志的takeWhile重载。
takeWhile(pred, true)
如果您使用的是旧版本,则必须执行其他操作,例如将
takeWhile
之后的最后一个发出的值压缩我相信包容性的最后一个是在6.4.0中添加的。
10-06 04:24