AbortError: The operation was aborted
Fetch APIでリクエストがキャンセルされた場合に発生するエラー
概要
AbortError: The operation was aborted は、Fetch APIのリクエストが AbortController によってキャンセルされた場合に発生するエラーです。タイムアウト処理やコンポーネントのアンマウント時のクリーンアップで意図的に発生させることが多いですが、予期しない中断も原因となります。
エラーメッセージ
DOMException: The operation was aborted.
AbortError: The user aborted a request.
Uncaught (in promise) DOMException: The operation was aborted.
原因
1. 意図的なキャンセル(正常動作)
| |
2. Reactコンポーネントのアンマウント
コンポーネントがアンマウントされた後にstateを更新しようとする場合です。
| |
3. タイムアウト
リクエストが時間内に完了しなかった場合です。
| |
4. ブラウザによる自動キャンセル
ページ遷移時にブラウザが実行中のリクエストをキャンセルします。
解決策
1. エラーハンドリングの追加
| |
2. Reactでのクリーンアップ
| |
3. カスタムフックの作成
| |
4. タイムアウト付きfetch
| |
5. AbortSignal.timeout()(モダンブラウザ)
| |
よくある間違い
AbortControllerの再利用
| |
関連エラー
関連エラー
JavaScript の他のエラー
この記事は役に立ちましたか?