2017-04-18 6 views
0

API로부터 데이터 (일수)가있는 daysFromApi$ 스트림이 있습니다. '삭제'버튼을 클릭하면 mealId를 this.deleteBus $ (으)로 푸시합니다. 스트림에서 새로운 값을 갖고 싶습니다 : daysAfterDelete$. 내 문제는 '첫 번째'이벤트가 항상 트리거되지만 '완료'가 트리거되지 않습니다. flatMapLatest이 작동하지 않습니다. map도 아닙니다. bacon.js 먼저 스트림을 다른 스트림과 결합하는 방법은 무엇입니까?

const daysAfterDelete$ = this.deleteBus$ 
     .log('first') // triggers when new mealId is pushed to deleteBus(a button is clicked) 
     .flatMapLatest(mealId => Bacon.combineAsArray(daysFromApi$, mealId)) 
     .log('done'); // never triggers 

나는 흐름 다음 싶어 : 당신이 무엇을 달성하고자하는

daysFromApi$ :  A   B        C 
deleteBus$  :   1    2    3 
daysAfterDelete$:   (1,A)  (2,B)   (3,B) 

답변

1

아주 확실하지,하지만 당신은 "일"의 최신 값을 얻으려면 삭제는 사용자,을 클릭하면 sampledBy을 사용할 수 있습니다. https://www.webpackbin.com/bins/-Ki3lTzM8PM4zeJKK9C0

+0

고맙습니다! 그것은 일했다! 이것이 제가 찾고 있던 것입니다. 나는 반응 프로그래밍에 익숙하지 않고 적절한 어휘가 부족하여 내 질문이 혼란 스러울 수 있습니다. –