如何通过 RX.js 在另一个流中使用一个流中的参数?
How to use param from one stream in another with RX.js?
如果我想将返回值从第一个流传递到第二个流,我使用 switchMap
。
如果我想在第二个流中使用第一个流中的参数,但我不想进行 2 个订阅,我应该使用什么?
this.firstStream$.subscribe(first => {
this.secondStream$.subscribe(second => {
// here I want to use first and second.
}
有很多不同的方法可以做到这一点,具体取决于您要完成的目标。例如,有 ForkJoin:
import { of, forkJoin} from 'rxjs';
const firstObservable = of('David');
const secondObservable = of('Acosta');
forkJoin(firstObservable, secondObservable).subscribe(values => {
const firstValue = values[0];
const secondValue= values[1];
console.log(firstValue);
console.log(secondValue);
});
这会等待两者完成后再发出值。如果您希望首先发出一个可观察对象,您可以使用其他运算符,例如 switchMap、concat 等。
如果我想将返回值从第一个流传递到第二个流,我使用 switchMap
。
如果我想在第二个流中使用第一个流中的参数,但我不想进行 2 个订阅,我应该使用什么?
this.firstStream$.subscribe(first => {
this.secondStream$.subscribe(second => {
// here I want to use first and second.
}
有很多不同的方法可以做到这一点,具体取决于您要完成的目标。例如,有 ForkJoin:
import { of, forkJoin} from 'rxjs';
const firstObservable = of('David');
const secondObservable = of('Acosta');
forkJoin(firstObservable, secondObservable).subscribe(values => {
const firstValue = values[0];
const secondValue= values[1];
console.log(firstValue);
console.log(secondValue);
});
这会等待两者完成后再发出值。如果您希望首先发出一个可观察对象,您可以使用其他运算符,例如 switchMap、concat 等。