Что такое явное обещание конструкции antipattern и как мне этого избежать?

Я писал код, который делает что-то похожее на:

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() */ |     });
}                                        | }

Кто-то сказал мне, что это называется "отложенный антипаттерн" или "Promise конструктор антипаттерн«соответственно, что плохого в этом коде и почему это называетсяантипаттерн?

Ответы на вопрос(2)

Ваш ответ на вопрос