Rxjs 如何认识到rx无法解决问题?

Rxjs 如何认识到rx无法解决问题?,rxjs,reactivex,Rxjs,Reactivex,reactivex似乎是一种极具吸引力的方法。我有两个不同长度的观测值,并试图将它们重新组合成一个。我花了两天的时间都没有成功,我想知道是否可以从两个观测值到一个观测值进行任何重组?这两个有最后一个的所有数据。 我故意避免附上一个具体的例子。希望得到一些常见的答案(请参阅标题)。根据您的使用情况,有许多运算符用于组合两个(或更多)观察值的输出。以下是一些常见的问题: Zip 组合多个观测值并组合它们之间的输出,在任何源观测值完成时完成: let obs1 = from([0, 1, 2]); l

reactivex似乎是一种极具吸引力的方法。我有两个不同长度的观测值,并试图将它们重新组合成一个。我花了两天的时间都没有成功,我想知道是否可以从两个观测值到一个观测值进行任何重组?这两个有最后一个的所有数据。
我故意避免附上一个具体的例子。希望得到一些常见的答案(请参阅标题)。

根据您的使用情况,有许多运算符用于组合两个(或更多)观察值的输出。以下是一些常见的问题:

Zip

组合多个观测值并组合它们之间的输出,在任何源观测值完成时完成:

let obs1 = from([0, 1, 2]);
let obs2 = from([a, b, c, d]);
result = obs1.pipe(zip(obs2)).subscribe((x) => console.log(x));
输出:

[0, a], [1, b], [2, c]
0, a, 1, 2, b, c, d
0, 1, 2, a, b, c, d
合并

组合多个观测值,在源观测值出现时发射每个发射,并持续到所有源观测值完成:

let obs1 = from([0, 1, 2]).pipe(delayTime(100));
let obs2 = from([a, b, c, d]).pipe(delayTime(151));
result = obs1.pipe(merge(obs2)).subscribe((x) => console.log(x));
输出:

[0, a], [1, b], [2, c]
0, a, 1, 2, b, c, d
0, 1, 2, a, b, c, d
Concat

组合多个观测值,从一个发射全部,直到完成,然后从下一个发射全部:

let obs1 = from([0, 1, 2]).pipe(delayTime(100));
let obs2 = from([a, b, c, d]).pipe(delayTime(151));
result = obs1.pipe(concat(obs2)).subscribe((x) => console.log(x));
输出:

[0, a], [1, b], [2, c]
0, a, 1, 2, b, c, d
0, 1, 2, a, b, c, d

您希望它们如何组合?一个的所有结果,然后另一个的所有结果?结果在发射时交错?这两个(和其他)都有运算符,可以根据您的需要组合观测值。我已将问题回复到您的原始版本-您能否澄清“通过Rx解决”的含义?我知道。在编辑之前,我的问题完全不同。这是您对问题的回答。对不起,我根本不想改变您问题的含义-您能再次编辑它以清楚地说明问题吗,因为我一定误解了您试图做的@vicpro