我正在寻找一种方法将多个 Observables 组合成标量值的平面元组 - 类似于 .combineLatest()
- 但除了它应该发出一个新的值元组,即使没有值已在其中一个源可观察对象上发出 - 在元组中为那些尚未发出的可观察对象产生“未定义”。
例子:
const s1 = new Subject<string>();
const s2 = new Subject<string>();
Observable.combineWithUndefined(s1, s2).subscribe( ([t1, t2]) => {
console.log(t1.toString() + " " + t2.toString());
});
s1.next("Hello");
s2.next("John");
// expected output:
// Hello undefined
// Hello John
最佳答案
使两个主题startWith未定义的值,因此当其中一个 then 发出第一个值时,combineLatest 也会发出并将其与另一个主题的起始值组合。
关于javascript - RxJS 运算符类似于 .combineLatest 但只要单个可观察对象发出就会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786658/