2

我正在使用 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 返回一条我想向用户显示的错误消息,如果替换为默认对象,它就会丢失。设置的唯一属性response$是实际的请求数据。

版本:

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

任何想法表示赞赏!

4

1 回答 1

1

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

response$.replaceError(err => /* use err here */)
于 2016-10-09T09:06:34.403 回答