Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
@nuxtjs/axios で エラーハンドリング 1 @odan3240
Slide 2
Slide 2 text
タピオカLT ● 初LT (2020年) :tada: 2
Slide 3
Slide 3 text
自己紹介 ● @odan3240 ● 株式会社モバイルファクトリー ● 最近 ○ AWS 周り ○ TypeScript (frontend/backend) ○ Vue.js 3
Slide 4
Slide 4 text
@nuxtjs/axios ● axios ○ JavaScript の HTTP クライアントライブラリ ● NuxtJS 向けの axios モジュール ○ https://github.com/nuxt-community/axios-module 4
Slide 5
Slide 5 text
エラーハンドリングしたい ● API リクエストでエラーが 発生したときにエラーページに飛ばすなどしたい ○ 公式ドキュメントにあるサンプル ○ レスポンスが 500 エラーだと /sorry にリダイレクト 5
Slide 6
Slide 6 text
リダイレクトじゃない挙動にしたい ● 例えば ○ トーストを出す ○ ページ遷移せずエラーページを表示 ● redirect を呼び出さなければ良い? ○ NuxtJS のエラーページが表示されてしまう ■ 内部でエラーがハンドリングされているため ■ https://github.com/nuxt-community/axios-module/issues/149 6
Slide 7
Slide 7 text
やりたいこと ● 内部のエラーハンドリングをキャンセル ● エラーが発生したことを NuxtJS に伝える 7
Slide 8
Slide 8 text
問題の切り分け ● 内部のエラーハンドリングをキャンセル ○ axios の話 ● エラーが発生したことを NuxtJS に伝える ○ nuxtjs の話 8
Slide 9
Slide 9 text
エラーが発生したことを NuxtJS に伝える ● NuxtJS の話 ● error 関数を呼び出す ○ https://ja.nuxtjs.org/api/context/ ● Nuxt.js と axios のエラーハンドリング周りの話 ○ https://mya-ake.com/slides/nuxt-axios-error-handling 9
Slide 10
Slide 10 text
内部のエラーハンドリングをキャンセル ● axios でリクエストをキャンセルする方法はあるか? ○ 「axios promise cancel response」あたりでググる ○ https://github.com/axios/axios/issues/583 ○ axios.interceptors.response.use で false を返せば良いっぽい 10
Slide 11
Slide 11 text
結論 11
Slide 12
Slide 12 text
まとめ ● @nuxtjs/axios で独自のエラーを出す方法を紹介 ● 問題を切り分けて立ち向かうの大事 ○ モジュールの組み合わせで どんどん便利になっている時代なので ● 未解決の issue に解答を示したので 後の人が楽になったはず 12