2017-12-19 6 views
0

私は管理者(1.3.2)を使用しており、Promise拒否に対してAUTH_LOGOUTアクションを呼び出すデフォルト動作をスキップしようとしています。私は自分の行動を落としたい。promise拒否で自動ログアウトをスキップする方法はありますか

Github Issues: https://github.com/marmelab/admin-on-rest/issues/894に問題が見つかりましたが、ここでの実装についての情報はほとんどありません。ブラウザコンソールで

、私は実行サガがここにあることを参照してください。 https://github.com/marmelab/admin-on-rest/blob/v1.3.2/src/sideEffect/saga/crudResponse.js#L92-L97

+0

自動ログアウトは、authClientが 'AUTH_CHECK'で呼び出され、約束を拒否した場合にのみ発生します:https://github.com/marmelab/admin-on-rest/blob/v1.3.2/src/sideEffect/saga/ auth.js#L53 – Gildas

+0

APIがエラーを返すときにAUTH_LOGOUTが呼び出されるのが分かります。実際にはログアウトを行い、次のAUTH_CHECKはそのために渡されません。私の質問は、エラーによって引き起こされたAUTH_LOGOUTをスキップする方法です。 –

答えて

1

何AUTH_LOGOUT起こって、なぜ私は気付きました。 マイAUTH_ERRORチェック:

if (type === AUTH_ERROR) { 
    const { status } = params 

    if (status === 401) { 
     localStorage.removeItem('admin') 

     return Promise.reject() 
    } 
    } 

ではなく401以外のステータスコードについてのチェックを持っていないと何もPromise.resolveはPromise.reject(「不明なメソッド」)につながる、返されなかったが、返されました。

関連する問題