2016-10-07 9 views
2

CycleJSをxstreamで試していますが、エラー(たとえば422)を救済してHTTPドライバからJSON応答を取得する方法が見つかりません。エラーからの救助にCycleJS HTTPDriverからのAPIエラー応答の取得

、私はこのように動作するように思われるの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" 

任意のアイデアが高く評価されています!

答えて

1

(あなたがそれを使用していなかった)replaceErrorの引数にエラーオブジェクトerrをキャッチしよう:

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

は感謝、あなたが 'replaceError'コールバックでこれを取得は思いもしませんでした! – Svilen

+0

https://github.com/staltz/xstream#-replaceerrorreplace;) –

関連する問題