Может ли кто-нибудь сказать мне, существует ли разница между использованием обратного вызова ошибки и функцией catch
при использовании $q.promise
, пожалуйста?
например. являются ли два фрагмента кода функционально эквивалентными?
function doSomething0() {
var deferred = $q.defer();
...
return deferred.promise;
}
doSomething0()
.then(doSomething1)
.then(doSomething2)
.then(doSomething3)
.catch(function (err) {
// do something with `err`
});
против.
function doSomething0() {
var deferred = $q.defer();
...
return deferred.promise;
}
function errorHandler(err) {
// do something with `err`
}
doSomething0()
.then(doSomething1, errorHandler)
.then(doSomething2, errorHandler)
.then(doSomething3, errorHandler);
Если да, зачем использовать второй? Это выглядит намного уродливее и приводит к увеличению дублирования кода на мой взгляд?