0
저는 RxJS를 처음 사용하고 정신적 블록을 가지고 있습니다. 내 솔루션은 작동하지만 해킹이라는 것을 알고 있습니다. 다음을 수행하는 적절한 방법은 무엇입니까?내부 Concat Observables를 결합하십시오.
// Desired Console Log: {x: 'abcd', y: 'efgh'}
const x = Rx.Observable.of('abcd').delay(1000);
const y = Rx.Observable.of('efgh').delay(1000);
Rx.Observable.concat(x,y)
.scan((acc, cur) => {
if (cur.includes('a')) {
acc.x = cur;
}
if (cur.includes('e')) {
acc.y = cur;
}
return acc
}, {x: false, y: false})
.filter(x => x.y === 'efgh')
.subscribe(x => console.log(x))
// {x: 'abcd', y:'efgh'}
감사합니다 번째 Y이다! .toArray()는 내가 필요한 것입니다. 왜 당신이 .zip을 사용했는지 궁금합니다. 이것은 또한 zip없이 올바른 출력을 제공합니다. –
x, y뿐만 아니라 여러 개의 키가있는 경우 zip은 더 깨끗합니다. 그것은 항상 x, y, 당신의 구현을 선택하십시오 – Meir
그것은 단지 X와 Y ... 지금입니다. 설명과 당신의 도움에 감사드립니다! –