Rxjs 我如何等待2个不同返回类型的观察值?

Rxjs 我如何等待2个不同返回类型的观察值?,rxjs,observable,Rxjs,Observable,我需要等待2个观察对象来处理一个请求,它们的类型是不同的,例如 observable1 = Observable.create((observer: Subscriber<Type1> => ...) 但这似乎是从两个观测值中依次读出的 我的思路是 observable1<???>observable2.subscribe((result1, result2) => ...) observed1observed2.subscribe((result1,re

我需要等待2个观察对象来处理一个请求,它们的类型是不同的,例如

observable1 = Observable.create((observer: Subscriber<Type1> => ...)
但这似乎是从两个观测值中依次读出的

我的思路是

observable1<???>observable2.subscribe((result1, result2) => ...)
observed1observed2.subscribe((result1,result2)=>…)

我怎样才能做到这一点呢?

你说得对:concat将依次读取观测值。要“加入”它们(按顺序排列),您需要使用
zip

const a$ = Rx.Observable.just(1);
const b$ = Rx.Observable.just(2);

const combined$ = a$.zip(b$, (x, y) => ({ a: x, b: y }));

const subscription = combined$.subscribe(x => console.log(x));

请注意,使用
zip
时,两个流的类型不同不会带来任何不便,因为必须提供一个函数,以从两个“zip”值生成新值。

谢谢,这正是我想要的!
observable1.concat(observable2).subscribe(result => ...)
observable1<???>observable2.subscribe((result1, result2) => ...)
const a$ = Rx.Observable.just(1);
const b$ = Rx.Observable.just(2);

const combined$ = a$.zip(b$, (x, y) => ({ a: x, b: y }));

const subscription = combined$.subscribe(x => console.log(x));