Heim Web-Frontend View.js Implementierung und Kapselung asynchroner Anfragen in Vue

Implementierung und Kapselung asynchroner Anfragen in Vue

Oct 15, 2023 am 09:41 AM
vue 封装 异步请求

Implementierung und Kapselung asynchroner Anfragen in Vue

Implementierung und Kapselung asynchroner Anforderungen in Vue

In der Entwicklung ist es häufig erforderlich, asynchrone Anforderungen an den Back-End-Server zu stellen, um Daten abzurufen oder Daten zu übermitteln. Vue bietet eine einfache und leistungsstarke Möglichkeit, asynchrone Anforderungen zu verarbeiten, dh die Axios-Bibliothek zur Kapselung zu verwenden.

1. Implementierung asynchroner Anfragen
Im Vue-Projekt können asynchrone Anfragen durch die Verwendung von Axios in den Methoden der Komponente implementiert werden. Das Folgende ist ein Beispiel für das Abrufen von Benutzerinformationen:

  1. Zuerst müssen Sie die Axios-Bibliothek in das Projekt einführen. Sie können sie über npm installieren oder direkt in die Seite einführen:

    import axios from 'axios'
    Nach dem Login kopieren
  2. In den Methoden der Komponente, asynchron schreiben Angeforderter Code:

    methods: {
      getUserInfo() {
     axios.get('/api/user').then(response => {
       // 请求成功后的处理逻辑
       console.log(response.data)
     }).catch(error => {
       // 请求失败后的处理逻辑
       console.error(error)
     })
      }
    }
    Nach dem Login kopieren
  3. Rufen Sie die getUserInfo-Methode auf, wenn der Lebenszyklus oder das Ereignis der Komponente ausgelöst wird:

    created() {
      this.getUserInfo()
    }
    Nach dem Login kopieren

Verwenden Sie im obigen Code die get-Methode von axios, um eine GET-Anfrage zu senden. Die Anforderungsadresse lautet /api/user. Nachdem die Anforderung erfolgreich war, übergeben Sie die Methode, um die zurückgegebenen Daten zu erhalten. Wenn die Anforderung fehlschlägt, werden die Fehlerinformationen über die Catch-Methode erfasst.

2. Kapselung asynchroner Anfragen
Um die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern, können asynchrone Anfragen in ein unabhängiges Modul zur Verwendung durch mehrere Komponenten gekapselt werden.

  1. Erstellen Sie zunächst eine api.js-Datei, um alle asynchronen Anforderungsmethoden zu kapseln:

    import axios from 'axios'
    
    export function getUserInfo() {
      return axios.get('/api/user')
    }
    Nach dem Login kopieren
  2. Fügen Sie api.js in die Komponente ein und rufen Sie die entsprechende Methode auf:

    import { getUserInfo } from './api.js'
    
    methods: {
      getUser() {
     getUserInfo().then(response => {
       console.log(response.data)
     }).catch(error => {
       console.error(error)
     })
      }
    }
    Nach dem Login kopieren

Durch Hinzufügen werden alle asynchronen Anforderungsmethoden gekapselt in api.js, und diese Methoden können direkt aufgerufen werden, um Daten abzurufen, sodass nicht wiederholt derselbe Code in jede Komponente geschrieben werden muss.

3. Verwenden Sie den Axios-Interceptor. Bei asynchronen Anforderungen ist es häufig erforderlich, vor dem Senden der Anforderung oder nach der Rückgabe der Antwort eine allgemeine Verarbeitung durchzuführen, z. B. das Hinzufügen von Anforderungsheadern, das Ändern von Anforderungsparametern und die einheitliche Behandlung von Fehlern. Zu diesem Zeitpunkt können Sie den Axios-Interceptor verwenden, um dies zu erreichen.

  1. Fügen Sie in api.js den folgenden Code hinzu:

    // 添加请求拦截器,设置请求头
    axios.interceptors.request.use(
      config => {
     config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token')
     return config
      },
      error => {
     return Promise.reject(error)
      }
    )
    
    // 添加响应拦截器,统一处理错误
    axios.interceptors.response.use(
      response => {
     return response
      },
      error => {
     console.error(error)
     return Promise.reject(error)
      }
    )
    Nach dem Login kopieren

Durch Hinzufügen eines Interceptors können Sie den Anforderungsheader festlegen, bevor die Anforderung gesendet wird, und Fehler nach der Rückgabe der Antwort einheitlich behandeln.

  1. Ändern Sie die getUserInfo-Methode so, dass sie den Anforderungen des Interceptors entspricht:

    export function getUserInfo() {
      return axios.get('/api/user').then(response => {
     return response.data
      }).catch(error => {
     console.error(error)
     return Promise.reject(error)
      })
    }
    Nach dem Login kopieren
Übergeben Sie das zurückgegebene Promise-Objekt an den Interceptor, indem Sie .then und .catch in der getUserInfo-Methode verwenden.

Durch die oben genannten Schritte wird die Kapselung und Implementierung asynchroner Anforderungen in Vue realisiert. Durch die Kapselung wird der asynchrone Anforderungscode prägnanter, einheitlicher und wartbarer und verbessert außerdem die Wiederverwendbarkeit des Codes. Gleichzeitig können durch den Einsatz von Interceptoren problemlos Anforderungsänderungen und Fehlerbehandlungen durchgeführt werden, bevor die Anforderung gesendet und die Antwort zurückgegeben wird.

Das obige ist der detaillierte Inhalt vonImplementierung und Kapselung asynchroner Anfragen in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

Was bedeutet es für faule Ladungsvue? Was bedeutet es für faule Ladungsvue? Apr 07, 2025 pm 11:54 PM

In Vue.js können Komponenten oder Ressourcen bei Bedarf dynamisch geladen werden, wodurch die Ladezeit der Anfangsseite dynamisch geladen und die Leistung verbessert wird. Die spezifische Implementierungsmethode umfasst die Verwendung & lt; Keep-Alive & GT; und & lt; Komponente ist & gt; Komponenten. Es ist zu beachten, dass fauler Laden FOUC -Probleme (Splace Screen) verursachen kann und nur für Komponenten verwendet werden sollte, die eine faule Belastung erfordern, um unnötige Leistungsaufwand zu vermeiden.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

See all articles