Иногда я хочу отфильтровать определенные ошибки в потоке. Я хотел бы написать что-то вроде этого:Как фильтровать ошибки в потоке 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() # ?
Идея состоит в том, что данный поток несет либо значение, либо ошибку. Оба представляют собой знание домена; значение означает, что система находится в нормальной работе, и ошибка означает, что мы имеем ошибку домена. Некоторые из ошибок домена не такие, что мы хотим их перенести, поэтому я хочу их отфильтровать.
Считаете ли вы, что это ответили? ниже кажется странным. я могу полностью понять, откуда вы. –