例如,我们有一个像 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/