Return 结果为空数组时的动作
Return action when the result is an empty array
当第一个 mergeMap
return 是一个空数组时,是否有可能使它成为 return 一个动作(完成)?
of(1)
.pipe(
mergeMap(x => []), // this can result in empty array
distinct(),
mergeMap(x => {
...
return fulfilled()
})
)
.subscribe((x) => console.log(x));
不要 return 空数组,而是 return 发出单个标记值的可观察对象。
const SENTINEL = Symbol();
of(1)
.pipe(
mergeMap((x) => of(SENTINEL)),
distinct(),
mergeMap((x) => {
if (x === SENTINEL) return fulfilled();
// etc.
})
)
.subscribe((x) => console.log(x));
当第一个 mergeMap
return 是一个空数组时,是否有可能使它成为 return 一个动作(完成)?
of(1)
.pipe(
mergeMap(x => []), // this can result in empty array
distinct(),
mergeMap(x => {
...
return fulfilled()
})
)
.subscribe((x) => console.log(x));
不要 return 空数组,而是 return 发出单个标记值的可观察对象。
const SENTINEL = Symbol();
of(1)
.pipe(
mergeMap((x) => of(SENTINEL)),
distinct(),
mergeMap((x) => {
if (x === SENTINEL) return fulfilled();
// etc.
})
)
.subscribe((x) => console.log(x));