Erste "Schließlich ist nicht eine Funktion" in bluebird, warum?
Ich habe Bluebird wie so...
<script src="../../js/libs/bluebird.min.js" type="text/javascript"></script>
Wenn ich den folgenden code ausführen...
requestEvent(request, src)
.then(function (response) {
...
})
.finally(function () {
...
});
function requestEvent(request, src) {
return new Promise(function (resolve, reject) {
$.ajax({
url: 'mywebsite',
type: "POST",
success: function (response) {
if (response.status == 0) {
reject(response.message);
}
resolve(response);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
reject(XMLHttpRequest.responseText);
}
});
});
}
Bekomme ich...
TypeError: requestEvent(...).dann(...).schließlich ist nicht eine Funktion
Warum nicht endlich nicht vorhanden???
Dies ist eine client - /browser-code.
- Es fühlt sich an, dass Sie nicht mit
installation
Abschnitt von den docs, und die Verwendung von nativePromise
anstelle von bluebird. Haben Sie getan, dieser? - Ich bin nicht mit Knoten.
- Prüfen Sie Ihre script-Pfad, die ich getestet und es funktioniert einwandfrei, check this out jsbin.com/labixiwiru/edit?html,js,Konsole,Ausgang
- Ich habe zwei Seiten und testet es aus der einen, ohne ein Skript-Referenz.
- Ich würde vorschlagen, Sie löschen Ihre Frage, da es nicht mehr auf-Thema für stack-überlauf und es gibt keinen Grund für die Menschen zu Lesen und zu versuchen die Frage zu beantworten. Löschen wird es auch vermeiden, eine Ansammlung von downvotes.
- Nicht alle Browser unterstützen die Versprechen.der Prototyp.endlich () - Methode. Siehe developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
- hinzufügen müssen
const Promise = require("bluebird")
oben im code zu verwenden bluebird Versprechen anstelle des Standard ein. - Löschen Sie nicht diese Frage, war es die top-google-Treffer und lösen mein Problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
finally()
ist nicht eine Funktion für ein Versprechendies Lesen :https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Müssen Sie prüfen, ob der Pfad bluebird korrekt ist oder nicht.
Update 2018:
.finally()
ist jetzt (TC39 Stufe 4; abgeschlossen) Teil der offiziellen Spezifikation nun, wie Sie sehen können, in den gleichen link oben oder in dieser spezifischen Seite. Allerdings nicht viele Browser unterstützen es noch.