相关疑难解决方法(0)

取消一个vanilla ECMAScript 6 Promise链

有没有清除.thenJavaScript Promise实例的方法?

我在QUnit上编写了一个JavaScript测试框架.框架通过在a中运行每个框架来同步运行测试Promise.(抱歉这个代码块的长度.我尽可能地评论它,所以感觉不那么乏味.)

/* Promise extension -- used for easily making an async step with a
       timeout without the Promise knowing anything about the function 
       it's waiting on */
$$.extend(Promise, {
    asyncTimeout: function (timeToLive, errorMessage) {
        var error = new Error(errorMessage || "Operation timed out.");
        var res, // resolve()
            rej, // reject()
            t,   // timeout instance
            rst, // reset timeout function
            p,   // the promise instance
            at;  // the returned asyncTimeout instance

        function …
Run Code Online (Sandbox Code Playgroud)

javascript promise cancellation es6-promise

88
推荐指数
6
解决办法
7万
查看次数

承诺 - 是否有可能强制取消承诺

我使用ES6 Promises来管理我的所有网络数据检索,在某些情况下我需要强制取消它们.

基本上这种情况是我在UI上有一个提前输入搜索,其中请求被委托给后端必须基于部分输入执行搜索.虽然此网络请求(#1)可能需要一点时间,但用户会继续键入哪个最终会触发另一个后端调用(#2)

这里#2自然优先于#1,所以我想取消Promise包装请求#1.我已经拥有数据层中所有Promise的缓存,因此我理论上可以检索它,因为我试图提交#2的Promise.

但是一旦从缓存中检索Promise,我该如何取消Promise#1?

有人可以建议一种方法吗?

javascript promise cancellation

68
推荐指数
4
解决办法
3万
查看次数

标签 统计

cancellation ×2

javascript ×2

promise ×2

es6-promise ×1