Heim Web-Frontend js-Tutorial Lösen Sie das Problem der inkonsistenten Reihenfolge asynchroner Anforderungen in der for-Schleife

Lösen Sie das Problem der inkonsistenten Reihenfolge asynchroner Anforderungen in der for-Schleife

Dec 17, 2019 pm 04:56 PM
for 异步请求

Lösen Sie das Problem der inkonsistenten Reihenfolge asynchroner Anforderungen in der for-Schleife

Lösen Sie das Problem der inkonsistenten Reihenfolge asynchroner Anforderungen in der for-Schleife

Bei der Arbeit ist ein Problem aufgetreten

For-Schleife und dann eine zweite Anfrage für die Schleifen-ID stellen

Dies führt zu einem Problem

Die Rückgabereihenfolge des Anforderungsergebnisses ist inkonsistent

Grund: Asynchron Anfragen werden Das Rückrufereignis wird in die Mikrotask-Ereigniswarteschlange gestellt und die Mikrotask wird ausgeführt, nachdem die Makrotask ausgeführt wurde. Weitere Informationen finden Sie im Ereigniswarteschlangenmechanismus

[Verwandte Kursempfehlungen: JavaScript-Video Tutorial]

Lösung:

Erstellen Sie eine Schleifenanforderung über die map-Methode

Kapseln Sie die asynchrone Anforderungsmethode und geben Sie ein Versprechen

zurück. Dadurch wird ein Array mit mehreren Versprechen

zurückgegeben, das das Versprechen durch das schließt Promise.all()-Methode in eine neue promise-Instanz

// 通过Promise把所有的异步请求放进事件队列中
getInfo(item ,index) {
    const ms = 1000 * Math.ceil(Math.random() * 3)
    return new Promise((resolve,reject) => {
        setTimeout(() => {
           axios.get(id).then((result) => {
               resolve(result)
           })
        }, ms)
    })
}

// 返回多个promise
let promise = arr.map((item,index) = > {
    arr.forEach((item, index) => {
        return getInfo(item, index)
    })
})
// 对返回的promise数组进行操作
Peomise.all(promise).then((allData) => {
    arr.forEach((item, index) => {
        // ......
    })
})
Nach dem Login kopieren

Dieser Artikel stammt aus der Spalte js-Tutorial, willkommen zum Lernen!

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem der inkonsistenten Reihenfolge asynchroner Anforderungen in der for-Schleife. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 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)

17 Möglichkeiten, den Bluescreen „kernel_security_check_failure' zu beheben 17 Möglichkeiten, den Bluescreen „kernel_security_check_failure' zu beheben Feb 12, 2024 pm 08:51 PM

Kernelsecuritycheckfailure (Kernel-Check-Fehler) ist eine relativ häufige Art von Stoppcode. Unabhängig vom Grund führt der Bluescreen-Fehler jedoch dazu, dass viele Benutzer diese Seite sorgfältig vorstellen. 17 Lösungen für den Bluescreen „kernel_security_check_failure“ Methode 1: Entfernen Sie alle externen Geräte Wenn ein externes Gerät, das Sie verwenden, nicht mit Ihrer Windows-Version kompatibel ist, kann der Bluescreen-Fehler „Kernelsecuritycheckfailure“ auftreten. Dazu müssen Sie alle externen Geräte trennen, bevor Sie versuchen, Ihren Computer neu zu starten.

Umgang mit parallelen und asynchronen Anfragen bei der PHP-Backend-API-Entwicklung Umgang mit parallelen und asynchronen Anfragen bei der PHP-Backend-API-Entwicklung Jun 17, 2023 pm 04:22 PM

Da sich Webanwendungen ständig weiterentwickeln und verändern, ist die Handhabung paralleler und asynchroner Anfragen zu einem wichtigen Thema bei der PHP-Backend-API-Entwicklung geworden. In herkömmlichen PHP-Anwendungen werden Anfragen synchron ausgeführt, das heißt, eine Anfrage wartet, bis eine Antwort empfangen wird, was sich auf die Antwortgeschwindigkeit und Leistung der Anwendung auswirkt. Allerdings ist PHP jetzt in der Lage, parallele und asynchrone Anfragen zu verarbeiten. Diese Funktionen ermöglichen es uns, eine große Anzahl gleichzeitiger Anfragen besser zu verarbeiten und die Antwortgeschwindigkeit und Leistung der Anwendung zu verbessern. In diesem Artikel wird der Umgang mit der PHP-Backend-API-Entwicklung erläutert

Wie deinstalliere ich Skype for Business unter Win10? So deinstallieren Sie Skype vollständig auf Ihrem Computer Wie deinstalliere ich Skype for Business unter Win10? So deinstallieren Sie Skype vollständig auf Ihrem Computer Feb 13, 2024 pm 12:30 PM

Kann Win10 Skype deinstalliert werden? Diese Frage möchten viele Benutzer wissen, da viele Benutzer feststellen, dass diese Anwendung im Standardprogramm auf ihren Computern enthalten ist, und sie befürchten, dass das Löschen den Betrieb des Systems beeinträchtigt Diese Website hilft Benutzern. Schauen wir uns genauer an, wie Skype for Business unter Win10 deinstalliert wird. So deinstallieren Sie Skype for Business unter Win10 1. Klicken Sie auf dem Computerdesktop auf das Windows-Symbol und dann zum Aufrufen auf das Einstellungssymbol. 2. Klicken Sie auf „Übernehmen“. 3. Geben Sie „Skype“ in das Suchfeld ein und klicken Sie, um das gefundene Ergebnis auszuwählen. 4. Klicken Sie auf „Deinstallieren“. 5

Lösen Sie das Problem der Echtzeitaktualisierung asynchroner Vue-Anforderungsdaten Lösen Sie das Problem der Echtzeitaktualisierung asynchroner Vue-Anforderungsdaten Jun 30, 2023 pm 02:31 PM

So lösen Sie das Problem der Echtzeitaktualisierung asynchroner Anforderungsdaten in der Vue-Entwicklung. Mit der Entwicklung der Front-End-Technologie verwenden immer mehr Webanwendungen asynchrone Anforderungsdaten, um die Benutzererfahrung und die Seitenleistung zu verbessern. Bei der Vue-Entwicklung ist die Lösung des Problems der Echtzeitaktualisierung asynchroner Anforderungsdaten eine zentrale Herausforderung. Echtzeitaktualisierung bedeutet, dass die Seite automatisch aktualisiert werden kann, um die neuesten Daten anzuzeigen, wenn sich die asynchron angeforderten Daten ändern. In Vue gibt es mehrere Lösungen, um Echtzeitaktualisierungen asynchroner Daten zu erreichen. 1. Reaktionsfähige Maschine mit Vue

Wie man for verwendet, um die Fakultät von n in JavaScript zu finden Wie man for verwendet, um die Fakultät von n in JavaScript zu finden Dec 08, 2021 pm 06:04 PM

So verwenden Sie for, um n Fakultäten zu finden: 1. Verwenden Sie die Anweisung „for (var i=1;i<=n;i++){}“, um den Schleifendurchlaufbereich auf „1~n“ zu steuern. 2. In der Schleife Körper, verwenden Sie „cj *=i“. Multiplizieren Sie die Zahlen von 1 bis n und weisen Sie das Produkt der Variablen cj 3 zu. Nach dem Ende der Schleife ist der Wert der Variablen cj die Fakultät von n und wird dann ausgegeben.

Was ist der Unterschied zwischen foreach und for-Schleife? Was ist der Unterschied zwischen foreach und for-Schleife? Jan 05, 2023 pm 04:26 PM

Unterschiede: 1. for durchläuft jedes Datenelement über den Index, während forEach die Datenelemente des Arrays über das zugrunde liegende JS-Programm durchläuft. 2. for kann die Ausführung der Schleife über das Schlüsselwort break beenden, forEach jedoch nicht . for kann die Ausführung der Schleife steuern, indem es den Wert der Schleifenvariablen steuert, forEach jedoch nicht. 4. for kann Schleifenvariablen außerhalb der Schleife aufrufen, forEach kann jedoch keine Schleifenvariablen außerhalb der Schleife aufrufen ist höher als forEach.

UniApp-Fehler: Lösung für asynchrone Anforderung „xxx' fehlgeschlagen UniApp-Fehler: Lösung für asynchrone Anforderung „xxx' fehlgeschlagen Nov 25, 2023 am 08:59 AM

UniApp-Fehler: „xxx“ asynchrone Anfrage fehlgeschlagene Lösung Mit der schnellen Entwicklung mobiler Anwendungen wird UniApp als plattformübergreifendes Entwicklungsframework zunehmend von Entwicklern bevorzugt. Allerdings weist UniApp wie jedes andere Technologie-Framework auch einige potenzielle Probleme auf, darunter das Problem der Fehlerberichterstattung, wenn asynchrone Anforderungen fehlschlagen. In diesem Artikel werden einige häufige Gründe vorgestellt, warum UniApp den Fehler „‚xxx‘ asynchrone Anfrage fehlgeschlagen“ meldet, und einige Lösungen bereitgestellt. Zuerst müssen wir verstehen, was eine asynchrone Anfrage ist. in U

Asynchrone HTTP-Anfragen in der Go-Sprache Asynchrone HTTP-Anfragen in der Go-Sprache Jun 02, 2023 pm 09:10 PM

Im heutigen Internetzeitalter müssen viele Anwendungen Netzwerkanfragen stellen, um Daten abzurufen oder zu senden. HTTP-Anfragen sind eine der am häufigsten verwendeten Netzwerkanfragemethoden. In der Go-Sprache können wir das Paket net/http in der Standardbibliothek verwenden, um HTTP-Anfragen zu initiieren, aber dadurch wird die aktuelle Coroutine blockiert. Wie implementiert man also asynchrone HTTP-Anfragen in der Go-Sprache? In diesem Artikel werden zwei Methoden zum Implementieren asynchroner HTTP-Anfragen in der Go-Sprache vorgestellt. Methode 1: Verwenden Sie Goroutine und ChannelGorout

See all articles