Skip to content

Commit 8b3bcce

Browse files
feat: update interceptors.md in ja (#280)
Co-authored-by: Jay <[email protected]>
1 parent 8e3c92e commit 8b3bcce

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

posts/ja/interceptors.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ next_link: '/ja/docs/handling_errors'
88

99
リクエストやレスポンスが `then``catch` で処理される前に、それをインターセプトできます。
1010

11+
`use` 関数は、Promise が解決(fulfilled)または拒否(rejected)されたときに実行されるハンドラーをハンドラーのリストに追加します。ハンドラーは、fulfilled と rejected の関数によって定義されます。
12+
13+
オプションで `options` オブジェクトを第3引数として渡すことができます。 `synchronous` を true に設定するとハンドラーは同期的に定義されます。 false または未指定の場合はハンドラーは非同期として定義されます。さらに `runWhen` を指定することで、インターセプターを実行するタイミングを制御できます。関数を渡すと、true/false を返して実行するかどうかを決定できます。デフォルトでは常に true が返されます。
14+
1115
```js
1216
// リクエスト インターセプターを追加します
1317
axios.interceptors.request.use(function (config) {
@@ -16,20 +20,26 @@ axios.interceptors.request.use(function (config) {
1620
}, function (error) {
1721
// リクエスト エラーの処理
1822
return Promise.reject(error);
19-
});
23+
},
24+
{ synchronous: true, runWhen: () => /* この関数は true を返します */}
25+
);
2026

2127
// レスポンス インターセプターを追加します
22-
axios.interceptors.response.use(function (response) {
28+
axios.interceptors.response.use(function onFulfilled(response) {
2329
// ステータスコードが 2xx の範囲にある場合、この関数が起動します
2430
// レスポンス データの処理
2531
return response;
26-
}, function (error) {
32+
}, function onRejected(error) {
2733
// ステータスコードが 2xx の範囲外の場合、この関数が起動します
2834
// レスポンス エラーの処理
2935
return Promise.reject(error);
3036
});
3137
```
3238

39+
通常、`onFulfilled` のレスポンスインターセプターは 2xx のステータスコードのレスポンスに対してのみ呼び出され、`onRejected` はそれ以外の場合に呼び出されます。
40+
しかし、この動作は [validateStatus](/ja/docs/req_config) に依存します。
41+
例えば、`validateStatus` が常に `true` を返すように設定されている場合、`onFulfilled`**すべての**レスポンスに対して呼び出されます。
42+
3343
後でインターセプターを削除する必要がある場合は、削除できます。
3444

3545
```js

0 commit comments

Comments
 (0)