假设我有两个 Observable A 和 B,我想将它们组合起来以产生这种行为:订阅组合仅在 A 被触发且 B 已经被触发时才返回。它与 zip 不同,因为如果 A 已经被解雇然后 B 被解雇,我不希望有任何回报。换句话说:忽略A直到B触发然后返回下一个A,然后忽略任何其他A直到B触发......等等
问问题
302 次
1 回答
0
我相信你需要withLatestFrom
运营商:
import { withLatestFrom, map } from 'rxjs/operators';
import { interval } from 'rxjs';
const obsA = interval(2000);
const obsB = interval(1000);
const resultingObs = obsB.pipe(
withLatestFrom(obsA),
map(([bValue, aValue]) => {
return aValue
})
);
// This should emit values from obsA only when obsB has been fired.
const subscribe = resultingObs .subscribe(val => console.log(val));
于 2019-03-07T10:12:50.770 回答