从 CycleJS HTTPDriver 获取 API 错误响应

Getting the API error response from CycleJS HTTPDriver

我正在尝试使用 xstream 的 CycleJS,但我找不到既能修复错误(例如 422)又能从 HTTP 驱动程序获得 JSON 响应的方法。

为了避免错误,我正在使用 xstream 的 replaceError,它似乎是这样工作的:

sources.HTTP
  .select('hello')
  .map((response$) =>
    // No response$.body or response$.error, just response$.request.
    response$.replaceError(() => xs.of(errorObject))
  ).flatten()

但是,API returns 我想向用户显示一条错误消息,如果用默认对象替换它就会丢失。设置的 response$ 上唯一的 属性 是实际请求数据。

版本:

"@cycle/dom": "^12.2.5"
"@cycle/http": "^11.0.1"
"@cycle/xstream-run": "^3.1.0"
"xstream": "^6.4.0"

欢迎任何想法!

尝试在 replaceError 的参数中捕获错误对象 err(您没有使用它):

response$.replaceError(err => /* use err here */)