javascript - 取消 JavaScript promise

标签 javascript promise cancellation google-closure-library

我正在使用 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 开发者工具中看到以下请求

enter image description here

当我调试 js 代码时,我看到此语句 this.reloadGridPromise_.cancel('[INFO]Canceling'); 正在执行。但是,我在 Chrome 开发者工具中看不到请求有任何变化。

Google Clousre promise https://google.github.io/closure-library/api/goog.Promise.html

应该是这样吗?

最佳答案

您无法取消 Promise。如果您不想取消请求,则必须使用 Obesrvers 而不是 Promise。所以也许看看:http://reactivex.io/rxjs/

关于javascript - 取消 JavaScript promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032797/

相关文章:

jquery - jQuery中,如何组合异步调用,包括json和jsonp

iOS可取消后台任务实现

java - 函数应该以最小范围声明吗?

javascript - 如何使用 gulp 从位于文件夹结构中某处的确切文件夹中复制文件

javascript - 在每个 Promise.then 函数之后执行一个通用方法

javascript - 如何取消 Javascript Promise 中的超时?

vba - 停止带有取消请求的代码时如何删除运行时错误 '3464'

javascript - 在 Angular 4 中使用等待时生成器未定义错误

javascript - 将 JSON 传递给 Web 方法并出现错误。

javascript - 如何使用 Promise 编写我的函数