때때로 스트림의 특정 오류를 필터링하려고합니다. 다음과 같이 쓰고 싶습니다.Bacon.js 스트림의 오류를 필터링하는 방법
stream
.filterError (error) ->
error.type is 'foo'
그러나 filterError
메서드는 없습니다.
대안으로 나는 errors().mapError
을 사용하여 오류를 값으로 매핑하고 필터링 한 다음 오류로 다시 매핑 할 수 있다고 생각했습니다. 그러나 스트림의 값을 오류로 변환하는 방법은 없습니다.
# Filter only the errors we are interested in
errors = stream.errors()
.mapError (error) ->
error
.filter (error) ->
...
.mapValuesBackIntoErrors() # ?
아이디어는 해당 스트림이 값 또는 오류를 전달한다는 것입니다. 둘 다 도메인 지식을 나타냅니다. 값은 시스템이 정상 작동 중이며 오류는 도메인 오류가 있음을 의미합니다. 도메인 오류 중 일부는 우리가 그들을 옮기고 싶어하는 것이 아니기 때문에, 나는 그것들을 걸러 내고 싶다.
이 답변으로 생각하십니까? 아래는 이상하게 보입니다. 나는 네가 어디에서 왔는지 완전히 볼 수있다. –