---
slug: "nuxt-でasync-メソッド内の-axiosget-が失敗した時トーストを表示する-typescript-デコレーター"
title: "A TypeScript Decorator to Show a Toast When $axios.$get Fails in an Async Method with Nuxt"
description: "This article introduces a TypeScript decorator code that displays a toast notification when the $axios.$get method fails within an async method in a Nuxt.js application."
url: "https://www.ytyng.com/en/blog/nuxt-でasync-メソッド内の-axiosget-が失敗した時トーストを表示する-typescript-デコレーター"
publish_date: "2020-10-07T12:49:56Z"
created: "2020-10-07T12:49:56Z"
updated: "2026-02-27T09:34:40.863Z"
categories: ["Javascript", "nuxt"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/3f5974affb8d47009a45286876128697.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "en"
---

# A TypeScript Decorator to Show a Toast When $axios.$get Fails in an Async Method with Nuxt

<p>TypeScript Decorator to Show Toast When $axios.$get Fails in an async Method in Nuxt</p>
<p></p>
<pre><span>/**<br /></span><span> * Decorator for async functions<br /></span><span> *<br /></span><span> * When performing axios communication within a method using await $axios.$get...,<br /></span><span> * if it fails, show an error toast.<br /></span><span> */<br /></span><span>export function </span><span>axiosErrorToast </span>(_target: Vue, _propertyKey: <span>string</span>, descriptor: <span>PropertyDescriptor</span>) {<br />  <span>const </span><span>method </span>= descriptor.<span>value<br /></span><span>  </span>descriptor.<span>value </span>= <span>async function </span>(<span>this</span>: Vue) {<br />    <span>try </span>{<br />      <span>return await </span><span>Reflect</span>.<span>apply</span>(<span>method</span>, <span>this</span>, arguments)<br />    } <span>catch </span>(error) {<br />      <span>if </span>(!error.<span>isAxiosError</span>) {<br />        <span>throw </span>error<br />      }<br />      <span>this</span>.<span>$root</span>.<span>$bvToast</span>.<span>toast</span>(<span>'An error occurred while communicating with the server'</span>, {<br />        <span>title</span>: <span>'Server Error'</span>,<br />        <span>variant</span>: <span>'danger'</span>,<br />        <span>toaster</span>: <span>'b-toaster-bottom-center'<br /></span><span>      </span>})<br />    }<br />  }<br />}</pre>
