Я включил Bluebird так...
<script src="../../js/libs/bluebird.min.js" type="text/javascript"></script>
Когда я запускаю следующий код...
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);
}
});
});
}
Я получил...
TypeError: requestEvent (...). Then (...). Наконец, это не функция
Почему, наконец, не существует?
Это код клиента/браузера.
finally()
не является функцией для обещания
Прочтите это: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Вам нужно проверить правильность пути к синей птице.
Обновление 2018: .finally()
теперь (часть TC39 этап 4; завершена) часть официальной спецификации сейчас, как вы можете видеть в той же ссылке выше или на этой конкретной странице. Однако многие браузеры еще не поддерживают его.
installation
из документации и использовали встроенныйPromise
вместо bluebird. Вы сделали это ?