Почему «блюберд» получает «наконец-то не функция»?

1

Я включил 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 (...). Наконец, это не функция

Почему, наконец, не существует?

Это код клиента/браузера.

  • 2
    Похоже, что вы не использовали раздел installation из документации и использовали встроенный Promise вместо bluebird. Вы сделали это ?
  • 0
    Я не использую узел.
Показать ещё 6 комментариев
Теги:
bluebird

1 ответ

4

finally() не является функцией для обещания

Прочтите это: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

Вам нужно проверить правильность пути к синей птице.

Обновление 2018: .finally() теперь (часть TC39 этап 4; завершена) часть официальной спецификации сейчас, как вы можете видеть в той же ссылке выше или на этой конкретной странице. Однако многие браузеры еще не поддерживают его.

  • 2
    Почему люди отвергают правильный ответ?
  • 3
    Я пытаюсь использовать Bluebird не родной.
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню