Dass die API Promise
erst vor kurzem dem JavaScript-Kern hinzugefügt wurde, hat nichts mit Knoten zu tun. Es ist nur ein Teil der Sprachentwicklung selbst.
Javascript begann als eine einfache Skriptsprache, um das Browser-DOM zu manipulieren. Es wurde 95 von Brendan Eich innerhalb von 2 Wochen entwickelt. Dies bedeutet, dass die meisten Funktionen, die Sie heute haben, nicht vorhanden sind. Z.B. XMLHTTPRequest
, der Kern jeder modernen Website wurde erst im Jahr 2000 eingeführt. Und damals hielten viele Leute JavaScript für ein nettes Gimmick, um ein paar auffällige Texteffekte zu erstellen, aber kein ernstzunehmendes Werkzeug für die (Web-) Entwicklung.
Nachdem sich der Staub des Browserkriegs gelegt hatte und Javascript über Flash und Java triumphierte, stimmten die Anbieter zu, dass sie eigentlich zusammenarbeiten sollten und es strenge Webstandards für alle Browser geben sollte und die Standardisierung aller Webtechnologien (HTML, CSS, EcmaScript) hat einen massiven Schub bekommen. Damit hat Javascript viele neue Funktionen erhalten.
Mit dem Erfolg von Javascript Menschen begannen zu denken "Warum nur Javascript für Client-Side-Scripting verwenden?" - So hat Ryan Dahl 2009 Node.js erstellt, eine JavaScript-Laufzeitumgebung zur Ausführung von JavaScript-Code-Server-Seite.
Das heißt, in ihrem Kern „Browser Javascript“ und „NodeJS“ sowohl tatsächlich Basis auf ECMAScript und auf dem gleichen Prinzip der Single-Threaded asynchrone Ausführung auszuführen. Beide haben die Möglichkeit, worker threads zu spawnen. Grundlegende Funktionalität wie setTimeout
ist in Browsern und Knoten ziemlich identisch.
Allerdings haben die Browser benutzerdefinierte Objekte, die für das Rendern der Webseite und die Interaktion mit dem Benutzer sorgen und sehr streng Sandboxed sind, während der Knoten alle für eine serverseitige Sprache (z. B. umfangreichen Dateizugriff) erforderlichen APIs aufweist stellen im Wesentlichen Sicherheitsrisiken dar, wenn sie in einem Browser vorhanden sind.
wie 'setTimeout' funktioniert [im Browser] (https://Stackoverflow.com/a/29391634/2476675) versus [in Knoten] (https://Stackoverflow.com/a/10767807/2476275) – royhowie
Versuchen Sehen Sie sich dieses kurze Video an: https://www.youtube.com/watch?v=8aGhZQkoFbQ Es könnte ein bißchen mehr darüber erklären, was es für nodejs bedeutet. –
Bearbeiten Sie die Frage, um sie auf ein bestimmtes Problem zu beschränken, und geben Sie genügend Details an, um eine angemessene Antwort zu finden. Vermeiden Sie es, mehrere verschiedene Fragen gleichzeitig zu stellen. – Quentin