suchen
HeimWeb-Frontendjs-TutorialDie Rolle des asynchronen JS-Frameworks und die Implementierung von it_javascript-Fähigkeiten

Beginnen wir mit der Bedeutung von asynchronem JS, stellen wir dann das asynchrone JS-Framework vor und erlangen Schritt für Schritt ein tieferes Verständnis von asynchronem JS.

1. Die Bedeutung von asynchronem JS
Mit der Verbesserung des Status der Webplattform hat sich die in Browsern dominierende JavaScript-Sprache zu einer der beliebtesten Sprachen der Welt entwickelt und ist über Node.js sogar in den Bereich der Serverprogrammierung vorgedrungen. Eine wichtige Funktion von JavaScript ist „kann nicht blockieren“, wobei „kann nicht“ eher „sollte nicht“ als „kann nicht“ bedeutet (sofern eine blockierende API bereitgestellt wird).

JavaScript ist eine Single-Thread-Sprache. Sobald eine API den aktuellen Thread blockiert, entspricht dies der Blockierung des gesamten Programms. Daher nimmt „asynchron“ eine sehr wichtige Position in der JavaScript-Programmierung ein. Die Vorteile der asynchronen Programmierung für die Programmausführung werden hier nicht diskutiert, aber die asynchrone Programmierung ist für Entwickler sehr problematisch, da sie die Programmlogik fragmentiert und die Semantik vollständig verliert.

Sind Sie jemals verrückt geworden, weil Ajax asynchron ist und Logik nur in Rückruffunktionen einbetten kann? Code wie dieser sieht sehr schlecht aus. Wenn die Synchronisierung verwendet wird, muss der Code nicht verschachtelt werden. Wenn die Anfrage jedoch zu lange dauert, friert der Browser aufgrund der Thread-Blockierung ein. Es ist wirklich belastend. Es scheint, dass eleganter Code und gute Benutzererfahrung nicht beides sein können.

2. Einführung des asynchronen JS-Frameworks
Angenommen, es gibt drei Ajax-Anfragen, nämlich A, B und C. B kann erst ausgeführt werden, nachdem A ausgeführt wurde, und C kann erst ausgeführt werden, nachdem B ausgeführt wurde. Auf diese Weise müssen wir verschachteln, B in der Rückruffunktion von A ausführen und dann C in der Rückruffunktion von B ausführen. Ein solcher Code ist sehr unfreundlich.
Basierend auf dem Prinzip des „professionellen Radaufbaus“ ist mein asynchrones JS-Framework auf den Weg gebracht!
Allgemeine Struktur- 

 var js = new AsyncJs();
      var func = js.Build(function () {
        var a = _$Async({
          url: "",
          success: function () {

          }
        });
        var b = _$Async({
          url: "",
          success: function () {

          }
        });
        var c = _$Async({
          url: "",
          success: function () {

          }
        });
      });
      eval(func);

a, b, c werden der Reihe nach ausgeführt und der Thread wird nicht blockiert.

Vorteile
1. Gute Erfahrung. Der gesamte Prozess ist asynchron und der Thread wird nicht blockiert.
2. Der Code ist elegant. Eine komplizierte Verschachtelung ist nicht erforderlich. Das Framework erledigt die Verschachtelungsarbeit automatisch für Sie. Sie müssen sich nur auf die Codierung selbst konzentrieren, die einfach zu warten ist.
3. Einfach und leicht zu bedienen. build(function(){ }) Sie können es als C#-Thread verstehen. Ich werde einen zusätzlichen Thread öffnen, um function(){} auszuführen (JS ist Single-Threaded, dieser Punkt sollte hervorgehoben werden!)

      new Thread(() =>
      {
        //dosomething
      });

4. Einfach und leicht zu erweitern. (Bitte „umschließen“ Sie alle auszuführenden Methoden mit _$Async)
5. Einfach zu debuggen.
Nachteile
1.build(function(){ }), die Funktion unterstützt keine benutzerdefinierten lokalen Variablen wie var a=1;
Wenn Sie lokale Variablen verwenden möchten, können Sie nur:    

         var a = _$Async(function () {
          return 1;
        });

2._$Async(); muss mit „;“ enden.
3. Build(function(){ }) Externe Funktionen können nicht direkt innerhalb der Funktion aufgerufen werden, wie z. B.

     function Test() {
      var TestMethod = function () {
        alert(1);
      };
      var func = js.Build(function () {
        TestMethod();
      });
    }

Bitte verwenden Sie

      function Test() {
      var TestMethod = function () {
        alert(1);
      };
      var func = js.Build(function () {
        _$Async(function () {
          TestMethod();
        });
      });
    }

Vielleicht sind Sie neugierig, wie das erreicht wird? Oder warum nicht eval(r) einkapseln?

ImplementierungsprinzipTatsächlich geht es darum, die Funktionen in Build zu analysieren und sie dann dynamisch zu kombinieren, zu verschachteln und auszuführen. Der Grund, warum eval nicht gekapselt ist, liegt darin, dass externe Variablen nicht verwendet werden können, wenn es gekapselt ist, und daher freigegeben werden muss.

3. Code und Effekte testen

<head runat="server">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <script src="jquery-1.8.2.min.js"></script>
  <script src="AsyncJavaScript.js"></script>
  <script>
    function Show() {
      var js = new AsyncJs();
      var url = "WebForm1.aspx";
      var func = js.Build(function () {
        _$Async(function () {
          alert("点击后开始第一次ajax请求");
        });
        _$Async({
          url: url,
          data: { val: "第一次ajax请求" },
          success: function (data) {
            alert("第一次请求结束,结果:" + data);
          }
        });
        _$Async(function () {
          alert("点击后开始第二次ajax请求");
        });
        var result = _$Async({
          url: url,
          data: { val: "第二次ajax请求" },
          success: function (data) {
            return data;
          }
        });
        _$Async(function () {
          alert("第二次请求结束,结果:" + result);
        });

      });
      eval(func);
    }
  </script>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <input type="button" onclick="Show()" value="查询" />
      <input type="text" />
    </div>
  </form>
</body>
</html>

Backend-C#-Code 

 protected void Page_Load(object sender, EventArgs e)
    {
      string val = Request.QueryString["val"];
      if (!string.IsNullOrEmpty(val))
      {
        Thread.Sleep(2000);
        Response.Write(val + "返回结果");
        Response.End();
      }
    }

Rendering:

Sie können sehen, dass die Ausführung vollständig sequentiell erfolgt und der Thread nicht blockiert ist.

Das Obige ist eine Einführung in die Rolle und Implementierungsmethode des asynchronen JS-Frameworks. Ich hoffe, es wird jedem beim Lernen helfen und die Bedeutung von asynchronem JS wirklich verstehen.

Stellungnahme
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
JavaScript -Engines: Implementierungen vergleichenJavaScript -Engines: Implementierungen vergleichenApr 13, 2025 am 12:05 AM

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Jenseits des Browsers: JavaScript in der realen WeltJenseits des Browsers: JavaScript in der realen WeltApr 12, 2025 am 12:06 AM

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript: Erforschung der Vielseitigkeit einer WebspracheJavaScript: Erforschung der Vielseitigkeit einer WebspracheApr 11, 2025 am 12:01 AM

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Die Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenDie Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenApr 10, 2025 am 09:33 AM

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Entmystifizieren JavaScript: Was es tut und warum es wichtig istEntmystifizieren JavaScript: Was es tut und warum es wichtig istApr 09, 2025 am 12:07 AM

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Ist Python oder JavaScript besser?Ist Python oder JavaScript besser?Apr 06, 2025 am 12:14 AM

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

See all articles

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 vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools