Dies ist eine Polyfüllung des ES6-Versprechens. Die Implementierung ist eine Teilmenge von rsvp.js, die von @jakearchibald extrahiert wurde. Wenn Sie zusätzliche Funktionen und mehr Debugging-Optionen wünschen, sehen Sie sich die vollständige Bibliothek an.
Weitere Informationen zur API und zur Verwendung von Versprechen finden Sie im Artikel „JavaScript Promises HTML5Rocks“.
es6-promise 27,86 KB (7,33 KB gzippt)
es6-promise-auto 27,78 KB (7,3 KB gzipped) – Stellt Promise
automatisch bereit/ersetzt es, wenn es fehlt oder defekt ist.
es6-promise-min 6,17 KB (2,4 KB gzippt)
es6-promise-auto-min 6,19 KB (2,4 KB gzipped) – verkleinerte Version von es6-promise-auto
oben.
Um es über ein CDN zu verwenden, fügen Sie Folgendes in Ihren HTML-Code ein:
<!-- Stellt „Promise“ automatisch bereit/ersetzt es, wenn es fehlt oder defekt ist. --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.js"></script><script src="https://cdn. jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script> <!-- Minimierte Version von `es6-promise-auto` unten. --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script><script src="https:// cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script>
Zur Installation:
Garn hinzufügen es6-Versprechen
oder
npm install es6-promise
Zur Verwendung:
var Promise = require('es6-promise').Promise;
catch
und „ finally
sind reservierte Schlüsselwörter in IE<9, was bedeutet, dass promise.catch(func)
oder promise.finally(func)
einen Syntaxfehler auslösen. Um dies zu umgehen, können Sie eine Zeichenfolge verwenden, um auf die Eigenschaft zuzugreifen, wie im folgenden Beispiel gezeigt.
Die meisten Minifier beheben dies jedoch automatisch für Sie, sodass der resultierende Code für alte Browser und die Produktion sicher ist:
versprechen['catch'](function(err) { // ...});
versprechen['finally'](function() { // ...});
Um die globale Umgebung (entweder in Node oder im Browser über CommonJS) mehrfach zu füllen, verwenden Sie den folgenden Codeausschnitt:
require('es6-promise').polyfill();
Alternativ
require('es6-promise/auto');
Beachten Sie, dass wir das Ergebnis von polyfill()
keiner Variablen zuweisen. Die Methode polyfill()
patcht beim Aufruf die globale Umgebung (in diesem Fall auf den Promise
Namen).
Um die Tests ausführen zu können, muss PhantomJS global installiert sein.
npm install -g phantomjs
npm run build
to build
npm test
um Tests auszuführen
npm start
die Ausführung eines Build-Watchers und einen Webserver zum Testen
npm run test:server
für einen Testläufer und beobachtenden Builder