Detaillierte Erläuterung der Vorverarbeitungsmethode für WeChat-Applet-Anforderungen

Detaillierte Erläuterung der Vorverarbeitungsmethode für WeChat-Applet-Anforderungen

Frage

Da einige unserer Seiten Daten im Onload-Modus anfordern und dann die Ansicht rendern, können wir die Daten früher anfordern, wenn wir den Datenanforderungsschritt vor den Seitensprung des Miniprogramms verschieben können. Die Auswirkung der Optimierung hängt von der für den Seitensprung benötigten Zeit ab.

brauchen

Um die Sprungzeit voll auszunutzen und Schnittstellendaten im Voraus anzufordern, aber gleichzeitig den Aufwand für die Änderung alter Projekte zu minimieren, ist eine Methode zur Anforderungsvorverarbeitung erforderlich. Da das kleine Programmprojekt, für das ich derzeit verantwortlich bin, Axios zum Anfordern von Schnittstellendaten verwendet, werde ich hier nur ein Beispiel für die Transformationsidee von Post in Axios geben. Hier schreibe ich die Post-Methode neu, um die Schnittstellen zwischenzuspeichern, die bei der Anforderung im Voraus angefordert werden müssen, und gebe das Versprechen der ersten Anforderung zurück, wenn die zweite Anforderung gestellt wird, sodass keine neue Anforderung initiiert werden muss.

Konkrete Schritte

1. Ändern Sie die Post-Methode

http-Datei

let instance = axios.create({ // Eine Axios-Anforderungsinstanz erstellen // Einen Teil des Codes weglassen});

let { post } = instance; // Speichere die ursprüngliche Post-Methode let cache = {}; // Fordere den Cache an instance.post = function(...list) {

 lass [URL, Daten = {}] = Liste;

 if (cache[url]) { // Gib das vorab angeforderte Versprechen zurück
 lass vor = cache[url];
 Cache[URL] löschen;
 Rückkehr vor;
 }

 if (data.pre) { //Verwende pre als Vorabanforderung, um zu bestimmen, ob es sich um eine Vorabanforderung handelt. delete data.pre;
 Cache[URL] = Post(...Liste)
 Cache [URL] zurückgeben;
 }

 return post(...list); //normale Anfrage}

2. Verwendung

Die Seite vor dem Sprung, also die vorherige Seite

// Etwas Code weglassen...

// Dies sind die Daten, die von der Schnittstelle auf der nächsten Seite angefordert werden sollen. Fordern Sie sie im Voraus an, bevor wx.navigateTo springt, und speichern Sie sie.
$http.post('/act/activities/lucky:search', { activityId: 12 , pre: true })

wx.nextTick(() => { //Mit wx.nextTick kann zuerst die obige Anfrage gesendet werden und dann gesprungen werden wx.navigateTo({
 URL: `${TYPE_TO_ROUTE_MAP[templateType]}?id=${activity.activityId}`
 });
})

// Etwas Code weglassen...

Wirkung

Kein Vorladen verwenden

Verwenden von Preload

Der Breitenunterschied der roten Kästen gibt an, wie viel Zeit benötigt wird, um die Schnittstellendaten vorab anzufordern. Dieser beträgt ca. 100ms. Da die folgende statische Ressourcenadresse aus den Schnittstellendaten stammt, entspricht dies einer Verkürzung der Ressourcenladezeit nach der Überlastung um etwa 100 ms.

Zusammenfassen

  • Das Prinzip besteht darin, die Zeit des Applet-Sprungs zu nutzen, um Daten im Voraus anzufordern. Daher ist es für Mobiltelefone mit schlechter Leistung von Vorteil. Obwohl es im Entwicklertool etwa 100 ms zu sparen scheint, gibt es die folgenden zwei Einschränkungen:
  • Die Seite wird geladen und die Daten in der vorab angeforderten Schnittstellendaten werden benötigt
  • Es ist notwendig, eine Voranfrage auf der vorherigen Seite zu initiieren und die nextTick-Verarbeitung beim Sprung durchzuführen

Im Ergebnis sind die Vorteile dieser Optimierung für das gesamte Projekt tatsächlich eher nutzlos.

Dies ist das Ende dieses Artikels über die Vorpositionierung von WeChat Mini-Programmanfragen. Weitere relevante Inhalte zur Vorpositionierung von Mini-Programmanfragen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zum Einrichten von HTTP-Anfragen im WeChat-Miniprogramm
  • Detaillierte Erläuterung des Beispiels einer GET-Anforderung für ein WeChat-Applet
  • Detaillierte Erläuterung der Autorisierung der WeChat-Applet-Synchronisierungsanforderung
  • Detaillierte Erläuterung der WeChat-Applet-Netzwerkanforderung (GET-Anforderung)
  • Detaillierte Erläuterung des Beispiels einer POST-Anforderung für das WeChat-Applet
  • Netzwerkanforderung für WeChat-Applet (Anforderung senden, Anforderung abrufen)
  • Detaillierte Erläuterung und Beispielcode zur HTTP-Anforderungskapselung des WeChat-Applets
  • Beispielcode für die Kapselung von HTTP-Schnittstellenanforderungen des WeChat-Applets
  • Beispiel für die Kapselung von Netzwerkanforderungen für WeChat-Applets

<<:  Detailliertes Tutorial zur Installation von MySQL 5.7.18 unter Linux (CentOS 7) mit YUM

>>:  Beispiel einer Skriptmethode für die Bindung von Linux-Dualnetzwerkkarten

Artikel empfehlen

Zwei Implementierungslösungen für die Vuex-Datenpersistenz

Inhaltsverzeichnis Geschäftsanforderungen: Lösung...

Das WeChat-Applet implementiert eine einfache Taschenrechnerfunktion

WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...

Docker-Einstellung für den Windows-Speicherpfadvorgang

Wenn Sie Docker unter Windows 10 installieren und...

Einfacher CSS-Textanimationseffekt

Ergebnisse erzielen Implementierungscode html <...

So ersetzen Sie alle Tags im HTML-Text

(?i) bedeutet, dass die Groß-/Kleinschreibung nich...

Vue2.x-Reaktionsfähigkeit – einfache Erklärung und Beispiele

1. Überprüfen Sie die Vue-Responsive-Nutzung​ Die...

So konfigurieren Sie ein Jupyter-Notebook im Docker-Container

Das Jupyter-Notebook wird unter dem Docker-Contai...

Util-Modul im node.js-Tutorial-Beispiel – detaillierte Erklärung

Inhaltsverzeichnis Ausgehend von der Typbeurteilu...

MySQL 8.0.12 Installationskonfigurationsmethode und Kennwortänderung

In diesem Artikel werden die Installations- und K...