, 이것은 당신은 아마 이미 짐작하지만, 당신이 가지 않은 스트림을 도입하여 가진 순수, 무 기능의 "정신"을 깨고있다 "기술적으로 확인"입니다 -state 인 경우 oEditButton
- 스트림에 "외부"상태 (버튼을 눌렀는지 여부)가 있기 때문에 매번 같은 입력으로 동일한 결과가 보장 될 수 없습니다.
따라서 "청소기"방식은 oEditButtonClicked$
-event-stream과 같은 기능을 제공하므로 선택한 날짜의 처리가 트리거됩니다. 사이드 참고로
oEditButtonClicked$
.switchMapTo(oCalenderSelect$)
.mergeMap(cal => Rx.Obserbalbe.from(cal.getSource....))
, 해당 이벤트 스트림을 소개 할 수없는 경우, 당신은 여전히 skipWhile
사용하여 코드를 향상시킬 수 :이 해결되지 않는 (
return oCalendarSelectOb
.skipWhile(() => oEditButton.getPressed())
.mergeMap(function (oCalendar) {
return Rx.Observable.from(oCalendar.getSource().getSelectedDates());
})
.map(function (oDateRange) {
return oDateRange.getStartDate();
});
을 첫 번째 질문이지만 옆에 힌트가 있음)
누군가 캘린더에서 날짜를 선택하면 스트림이 실행됩니다. –
위의 첫 번째 제안을 구현했으며 예상대로 작동합니다. 정말 고마워. 초보자가 rxjs로 가능한 것은 무엇인지 알기가 너무 어렵습니다. –
거의 모든 것이 가능합니다.이 질문은 개인적인 취향과 코드가 원하는 "완벽한"방법과 비슷합니다. 그러나 엄격한 기술적 측면에서 코드는 이미 유스 케이스에서 잘 작동해야합니다. – olsn