Отмена обещаний JavaScript

1

Я использую библиотеку закрытия Google JS https://developers.google.com/closure/library/

У меня есть следующий код:

if (endDate >= wap.com.ifx.util.IfxComponentUtil.yyyymmdd(currentDate) && goog.object.isEmpty(token)) {
    if (goog.isDefAndNotNull(this.reloadGridPromise_)) {
      this.reloadGridPromise_.cancel('[INFO]Canceling');
    }
    this.reloadGridPromise_ = new wap.core.net.partialupdate.partialUpdate('getFilteredHistoryList?' + get_params(
      vars), this.updateGridFlag);
    var self = this;
    this.reloadGridPromise_.then(function(response) {
//something
}

Этот блок кода повторяется каждые 5 секунд. Я вижу следующие запросы в инструментах разработчика Google Chrome.

Изображение 174551

Когда я отлаживаю js код, я вижу, что это выражение this.reloadGridPromise_.cancel('[INFO]Canceling'); выполняется. Однако я не вижу изменений в запросах в инструментах разработчика Chrome.

Google clousre обещает https://google.github.io/closure-library/api/goog.Promise.html

Предполагается, что это так?

  • 0
    Попробуйте return this.reloadGridPromise_.cancel('[INFO]Canceling');
Теги:
promise
cancellation
google-closure-library

1 ответ

0

Вы не можете отменять обещания. Если вы не хотите отменить запрос, вы должны использовать Obesrvers вместо обещаний. Поэтому, возможно, посмотрите: http://reactivex.io/rxjs/

Ещё вопросы

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