Я столкнулся с этим сложным сценарием, когда цепляю обещания на заводе или передал его контроллеру.Фабрика - тогда и поимка обещания цепочки в AngularJS
Пара вопросов для того же:
- Какой выгодно? Написав , затем и уловить внутри заводской функции или в контроллере.
- бизнес-сценарий
- Performance Advantage
Ранее я писал тогда и ловить цепочки, как это внутри фабричного метода:
function searchReservations(lastName, arrivalDate)
{
// alert(lastName + ' ' + arrivalDate)
return $http({
method: 'GET',
url: baseUrl + '/reservation?lastName='+lastName+'&arrivalDate='+arrivalDate
})
**.then(success)
.catch(failure);**
function success(response) {
return response;
}
function failure(error) {
console.log('XHR Failed for searchReservation' + error.data);
return error;
}
}
Но как новое направление, я увидел тогда и catch, который записывается как в функции контроллера. Совсем так.
HRS.searchReservations(this.searchLastName, arrivalDate).then(function(response) {
...
}).catch(function(response){
...
})
Подробнее о бизнес-кейсе и преимуществах производительности я бы хотел знать здесь.
Спасибо, Анкит
Не имеющий отношения к вопросу, попробуйте код наблюдения, а не кодеры. Вы свершаете свои знания, когда вы применяете чужой опыт, хотя я понимаю, что чужой опыт является самым востребованным товаром на сегодняшнем «рынке труда», поэтому я могу понять, предпочитаете ли вы искать последние тенденции кодирования. –
Одно из преимуществ, которое я вижу в второй способ - читаемость/инкапсуляция - вы говорите со своим сервисом всегда с точки зрения «обещания», не зная, как его реализовано, - он может обслуживать постоянный или ajax-вызов или делать вызов базы данных. И сервис просто предоставляет интерфейс «обещания» без обратных вызовов. Ваш «контроллер» должен знать, как «потреблять» это.Если есть манипуляция данными внутри успеха/неудачи, то повторный вызов будет повторен, тогда первый подход к его сохранению внутри «службы» может иметь смысл. – FrailWords
Для второго сценария хорошие данные - любое преимущество с точки зрения производительности? –