nuxt で、async メソッド内の $axios.$get が失敗した時トーストを表示する typescript デコレーター

(Comments)

nuxt で、async メソッド内の $axios.$get が失敗した時トーストを表示する TypeScript デコレーター

/**
* async function 用デコレータ
*
* メソッドの中で、await $axios.$get... などの処理で axios 通信をする時、
* 失敗したらエラートーストを表示する
*/
export function axiosErrorToast (_target: Vue, _propertyKey: string, descriptor: PropertyDescriptor) {
const method = descriptor.value
descriptor.value = async function (this: Vue) {
try {
return await Reflect.apply(method, this, arguments)
} catch (error) {
if (!error.isAxiosError) {
throw error
}
this.$root.$bvToast.toast('サーバとの通信でエラーが発生しました', {
title: 'サーバーエラー',
variant: 'danger',
toaster: 'b-toaster-bottom-center'
})
}
}
}
Currently unrated

Comments

Recent Tweets

  • ytyng

    ytyng @ytyng

    apple developer の、テスト用デバイスのUDIDを1年ごとにチェックして、古い端末を消しちゃうやつ チェックボックスを入れたのを残すのか、消すのかの判断まちがって、全部のUDID消えたわ
    1 month, 1 week ago

  • ytyng

    ytyng @ytyng

    うちの会社 TORICO の 代表が今TV出てます #漫画全巻ドットコム #激レアさんを連れてきた
    1 month, 2 weeks ago

  • ytyng

    ytyng @ytyng

    Proofpoint にブロックされているIPアドレスからでも icloud など Apple メールアドレスにメール送信されてもブロックされてない…?
    2 months, 1 week ago

Recent Posts

Archive

2020
2019
2018
2017
2016
2015
2014
2013
2012
2011

Categories

Authors

Feeds

RSS / Atom