RxJS5运算符类似于.combineLatest,但每当单个observable发出时触发

RxJS5运算符类似于.combineLatest,但每当单个observable发出时触发

问题描述:

我正在寻找一种将多个Observable合并为标量值的平坦元组的方式 - 类似于.combineLatest() - 但除了它应该发出新的值元组即使在其中一个源观测值没有发射任何值时 - 元组中的未定义的元素对于那些尚未发射的观测值也是如此。RxJS5运算符类似于.combineLatest,但每当单个observable发出时触发

实施例:

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未定义的值,所以当的再一个发射第一值时,combineLatest将发射以及和结合起来,与其它对象的起始值。