Получение ответа об ошибке API от CycleJS HTTPDriver
Я пробую CycleJS с помощью xstream и не могу найти способ как спасти ошибку (например, 422), так и получить ответ JSON от HTTP-драйвера.
Чтобы спасти от ошибки, я использую Xstream's replaceError
который, кажется, работает так:
sources.HTTP
.select('hello')
.map((response$) =>
// No response$.body or response$.error, just response$.request.
response$.replaceError(() => xs.of(errorObject))
).flatten()
Однако API возвращает сообщение об ошибке, которое я хотел бы отобразить пользователю, и оно теряется, если его заменить объектом по умолчанию. Единственная собственность на response$
это установлено фактические данные запроса.
Версии:
"@cycle/dom": "^12.2.5"
"@cycle/http": "^11.0.1"
"@cycle/xstream-run": "^3.1.0"
"xstream": "^6.4.0"
Любые идеи приветствуются!
1 ответ
Решение
Попробуйте поймать объект ошибки err
в аргументе в пользу replaceError
(вы не использовали его):
response$.replaceError(err => /* use err here */)