javascript - HTML5 promise : does resolve call end promise

标签 javascript html promise ecmascript-6

例如,我们有一个像 var prom = new Promise(function(resolve,reject){...}) 这样的 Promise

其中,当满足某些条件时,我们调用resolve,这是否会结束promise调用,或者我们必须在调用resolve(params)后显式调用return

最佳答案

是的,resolve语句后面的代码仍然会被执行。这就是为什么您有责任设计逻辑,以便不会出现意外的操作。您可以返回,也可以使用 if-else block 。

很容易看出:

var prom = new Promise(function(resolve,reject) {
    resolve(123);
    console.log('still working')
});
prom.then(function(data) { console.log(data) });

结果将是

still working
123 

但请注意,仍然工作出现在解决回调之前,即使它在一次之后就已经解决了。

关于javascript - HTML5 promise : does resolve call end promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26250626/

相关文章:

javascript - 切换并滚动到 anchor

javascript - 如何在 AngularJS 中向二维数组添加项目

javascript - 如何识别哪个图像标签正在调用 mouseHover 函数?

html - 是什么导致我的 CSS Accordion 不下降?

javascript - 我什么时候应该拒绝 promise ?

javascript - promise 取消仍在触发履行功能

javascript - TypeError : studentsList. forEach 不是函数。 Jasmine 单元测试(Angular 2)

javascript - 显示日期独立于系统区域设置并根据应用程序语言

html - 如何在一个 div 中将所有内容对齐?

javascript - 使用 firebase 在快照 forEach 之后调用函数