Rxjs 根据条件按顺序执行观察值数组

Rxjs 根据条件按顺序执行观察值数组,rxjs,Rxjs,给定一个观察值数组,其中每个观察值都可以发射空值,我如何在前一个观察值返回空值的情况下执行数组中的下一个观察值,或者在数组中的观察值发射第一个非空值后停止迭代数组并返回非空值 const emptyVal=Symbol('empty'); const src$=concat( …arrOfObservable.map( obs$=>obs$.pipe( 最后一个(空,空) ) ) ).烟斗( 过滤器(v=>v!==emptyVal), 第一() ) 源代码完成后,last()运算符将发出上次发

给定一个观察值数组,其中每个观察值都可以发射空值,我如何在前一个观察值返回空值的情况下执行数组中的下一个观察值,或者在数组中的观察值发射第一个非空值后停止迭代数组并返回非空值

const emptyVal=Symbol('empty');
const src$=concat(
…arrOfObservable.map(
obs$=>obs$.pipe(
最后一个(空,空)
)
)
).烟斗(
过滤器(v=>v!==emptyVal),
第一()
)
源代码完成后,
last()
运算符将发出上次发出的值。如果没有最后一个值(
obs$
使用了
EMPTY
),它将发出
emptyVal

过滤器(v=>v!==emptyVal)
将确保我们不断迭代,直到得到一个非空值

使用
first()
,我们将停止迭代并获得发出的值

注意:如果
obs$
在某个时间完成,则此方法有效,否则
last
将无法完成其工作