相关疑难解决方法(0)

为什么Promise构造函数需要执行程序?

使用Promises时,为什么不能在代码库的其他地方触发resolvereject定义?

我不明白为什么resolvereject逻辑应该在声明promise的地方进行本地化.这是一种疏忽,还是强制要求executor参数?


我相信执行程序函数应该是可选的,并且它的存在应该确定promise是否封装了解决方案.如果没有这样的要求,承诺将更加可扩展,因为您不必立即启动异步.承诺也应该是可以重置的.它是一个1开关,1或0,resolve()reject().有迹象表明,可附接的并行和串行结果众多:promise.then(parallel1)promise.then(parallel2)并且也promise.then(seq1).then(seq2)但参考特权玩家无法解析/拒绝到交换机

您可以在以后构建结果树,但不能改变它们,也不能改变根(输入触发器)

老实说,连续结果的树也应该是可编辑的.假设你想要拼出一个步骤并在你宣布许多承诺链之后做其他事情.重建承诺和每个顺序功能是没有意义的,特别是因为你甚至不能拒绝或毁掉承诺......

javascript w3c asynchronous promise

9
推荐指数
2
解决办法
1642
查看次数

什么时候有人需要创建延期?

现在看来,创建延迟对象通常不鼓励使用ES6风格的Promise构造函数.是否存在使用延迟需要(或者更好地某种方式)的情况?

例如,在此页面上,给出以下示例作为使用延迟的理由:

function delay(ms) {
    var deferred = Promise.pending();
    setTimeout(function(){
        deferred.resolve();
    }, ms);
    return deferred.promise;
}
Run Code Online (Sandbox Code Playgroud)

但是,这可以使用Promise构造函数完成:

function delay(ms) {
    return new Promise(function(resolve, reject){
        setTimeout(function(){
            resolve();
        }, ms);
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6 bluebird es6-promise

5
推荐指数
1
解决办法
632
查看次数