【发布时间】:2023-03-17 13:20:02
【问题描述】:
我见过这样的代码:
var defer = Q.defer();
// do something, here's the callback
if (err) {
defer.reject({err: err})
}
defer.resolve({success: data});
// close callback
return defer.promise;
如果一个承诺首先被拒绝,然后被解决,那么“拒绝”似乎仍然存在。
当我第一次看到这种模式时,我倾向于建议将 resolve 包含在 else 中,但既然它按原样工作,这是一种可以接受的模式吗?
拒绝然后解决承诺会不会有问题?
看来,如果您解决然后拒绝,解决方案仍然存在。那么无论哪个先发生,是什么“坚持”?
【问题讨论】:
标签: javascript promise q