В следующем коде, что послужило бы причиной возврата другого обещания от метода success
или err
? Как вы можете видеть, someFunction
уже возвращает обещание, и мы можем легко вернуть его вызывающему.Причина возврата обещания от другого обещания?
Я не понимаю причину сделать другое обещание, пока мы не украшаем/не манипулируем откликом или ошибкой. Есть ли прецедент, о котором я не знаю?
function() {
var p = $q.defer();
someModule.someFunction(input)
.then(
function(success) {
return p.resolve(success);
},
function(err) {
return p.reject(err)
}
);
return p.promise;
};
Нет никакой причины, кроме неопытности или просто намеренно плохого кода. Даже если вы должны манипулировать ответом или ошибкой, вы не должны создавать отложенные. – Bergi