Итак, у меня есть приложение с угловым выражением, которое делает спокойные звонки на сервер. Существует служба, которая завершает вызовы на сервер. В настоящее время у меня есть метод службы, который просто возвращает обещание от службы $ http. Я хотел бы добавить дополнительную обработку этого вызова метода, но я не уверен, как это сделать из-за асинхронного характера обещания.Angular Service Promises
В настоящее время в машинописи:
class BoardService {
private $http;
constructor($rootScope: IRootScope, $http: ng.IHttpService) {
this.$http = $http;
}
fetchBoard(id: number) {
return this.$http.get("/api/board/" + id);
}
}
Я хотел бы получить его на что-то вроде этого:
fetchBoard2(id: number) {
this.$http.get("/api/board/" + id).success(function(data)
{
// Manipulate the data
});
// return manipulated data;
}
Как бы вы это сделали?
Насколько я знаю, .success() ведут себя так же, как .then() и возвращать тоже. return $ http.get(). success() тоже будет работать. – Okazari
Почти - спасибо, что заставило меня проверить это. 'success' возвращает оригинальное обещание (содержащее HTTP-ответ), а' then' возвращает новое обещание, которое разрешено с результатом функции, которую вы ему даете. Ссылка: http://stackoverflow.com/a/23805864/802618 –
Thx для добавления, теперь это не было точно. – Okazari