0
私はredux-thunkからredux-sagaに移っていますが、1つの不足が見つかりました。アクションは、私が上で待つことができる約束を、返します約束のアクションの応答を得る(redux-thunkのような)
try {
downloadId = await dispatch(requestDownload('SOME_URL'));
} catch(ex) {
console.log('download already existed, so request denied');
}
:私は「要求を追加」することの非常に一般的な方法を持っていたReduxの-サンクで
。 request
ファンクション(上記のrequestDownload
)は、リクエストを許可してdownloadId
で解決するか、またはSOME_URL
のダウンロードが既に存在する場合は拒否します。
私はこれをredux-sagaでどうやって行うことができますか?行動は何も返せないと思われる。
おかげredux-saga
で
ありがとう@Alex - 最初の 'ディスパッチ(アクション)'が成功したかどうかを知る必要があります。 redux-thunkでは、 'isFetching' /' isDownloading'が真であれば私のアクションは失敗し、私のアクションは 'state'をチェックします。 – Noitidart
あなたの 'requestDownload'メソッドは約束を返します。これはサービス要求を行い、 'downloadId'で解決し、' catch'ブロックで捕捉された 'error'を使って拒否します。 – Alex
これを完全に忘れてしまった。これは本当に私がサガを理解するのを助けました。 – Noitidart