什么是显式承诺构造反模式,我如何避免它?这是怎么回事?我该如何避免?
我正在编写代码,该代码可以执行如下所示的内容:
function getStuffDone(param) { | function getStuffDone(param) {
var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) {
// or = new $.Deferred() etc. | // using a promise constructor
myPromiseFn(param+1) | myPromiseFn(param+1)
.then(function(val) { /* or .done */ | .then(function(val) {
d.resolve(val); | resolve(val);
}).catch(function(err) { /* .fail */ | }).catch(function(err) {
d.reject(err); | reject(err);
}); | });
return d.promise; /* or promise() */ | });
} | }
有人告诉我,这分别被称为“延迟反模式”或“承诺
构造函数反模式”,这个代码有什么不好的,为什么这被称为反模式?