Heim > Web-Frontend > js-Tutorial > Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

php是最好的语言
Freigeben: 2018-08-01 11:07:05
Original
2234 Leute haben es durchsucht

Werfen wir zunächst einen Blick auf die Synchronisierungsanforderung

Der empfangene Hintergrund ist 0~10
Die Ajax-Callback-Ausgabe ist ebenfalls 0~10

for (var index = 0; index <= 10; index++) {
    $.ajax({
        async: false,//同步
        url: &#39;/HelloWorld&#39;,
        type: &#39;POST&#39;,
        dataType: &#39;html&#39;,
        data: {index: index}
    }).done(function () {
        console.log(index);
    })
}
Nach dem Login kopieren
Nach dem Login kopieren

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Nach dem Wechsel zu asynchron
Die im Hintergrund empfangenen Daten haben sich um 0–10 geändert, was nicht erwartet wurde

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Ajax Das Gleiche gilt für die Callback-Ausgabe.
Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Die Reihenfolge der Ajax-Ausführung erfolgt nach der Ausführung der for-Schleife.
Muss beibehalten werden Die Ausrichtung, wenn Ajax ausgeführt wird, kann den erwarteten Effekt erzielen

for (var index = 0; index <= 10; index++) {
    (function (num) {//形参
        $.ajax({
            async: true,//异步
            url: &#39;/HelloWorld&#39;,
            type: &#39;POST&#39;,
            dataType: &#39;html&#39;
        })
            .done(function () {
                console.log(num);
            })
    })(index)//实参}
Nach dem Login kopieren
Nach dem Login kopieren

Auf diese Weise kann der vom Hintergrund empfangene Wert mit dem von der Rezeption ausgegebenen Wert übereinstimmen

Schauen Sie sich zuerst die Synchronisierungsanforderung an
Der empfangene Hintergrund ist 0 ~10
Die Ajax-Rückrufausgabe ist ebenfalls 0 ~10

for (var index = 0; index <= 10; index++) {
    $.ajax({
        async: false,//同步
        url: &#39;/HelloWorld&#39;,
        type: &#39;POST&#39;,
        dataType: &#39;html&#39;,
        data: {index: index}
    }).done(function () {
        console.log(index);
    })
}
Nach dem Login kopieren
Nach dem Login kopieren

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Nach dem Umschalten auf asynchron
vom Hintergrund empfangen Die Daten haben sich geändert, was nicht den erwarteten 0 bis 10 entspricht
Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Dasselbe gilt für die Ajax-Rückrufausgabe, die ist zu 11 11 geworden
Ein einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js

Ajax-Ausführung Nachdem die for-Schleife sequentiell ausgeführt wurde, wird i zu 11
Sie müssen einen Verweis auf i beibehalten, wenn Ajax ausgeführt wird, um den erwarteten Effekt zu erzielen

for (var index = 0; index <= 10; index++) {
    (function (num) {//形参
        $.ajax({
            async: true,//异步
            url: &#39;/HelloWorld&#39;,
            type: &#39;POST&#39;,
            dataType: &#39;html&#39;
        })
            .done(function () {
                console.log(num);
            })
    })(index)//实参}
Nach dem Login kopieren
Nach dem Login kopieren

Auf diese Weise kann der im Hintergrund empfangene Wert mit dem im Vordergrund ausgegebenen Wert verglichen werden. Werte sind konsistent

Verwandte Artikel:

Zusammenfassung von Methoden und Unterschieden zwischen synchroner und asynchroner Verarbeitung in js_javascript-Kenntnissen

Ajax-synchrone Anfrage und Differenzanalyse asynchroner Anfragen

Ähnliche Videos:

Qianfeng Education PHP asynchrones Kommunikationsframework Swoole-Interpretationsvideo-Tutorial

Das obige ist der detaillierte Inhalt vonEin einfaches Verständnis der Kombination aus Synchronisation, Schließung und asynchronen Anforderungen in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage