Vì vậy, tôi đã có một ứng dụng Góc giúp thực hiện cuộc gọi yên tĩnh đến máy chủ. Có một dịch vụ kết thúc cuộc gọi đến máy chủ. Tôi hiện đang có một phương thức trên dịch vụ đơn giản trả lại lời hứa từ dịch vụ $ http. Tôi muốn thêm một số xử lý bổ sung vào cuộc gọi phương thức đó, nhưng tôi không chắc chắn làm thế nào để làm điều đó vì bản chất không đồng bộ của lời hứa.Angular Service Promises
Hiện nay trong nguyên cảo:
class BoardService {
private $http;
constructor($rootScope: IRootScope, $http: ng.IHttpService) {
this.$http = $http;
}
fetchBoard(id: number) {
return this.$http.get("/api/board/" + id);
}
}
Tôi muốn làm cho nó một cái gì đó như thế này:
fetchBoard2(id: number) {
this.$http.get("/api/board/" + id).success(function(data)
{
// Manipulate the data
});
// return manipulated data;
}
Làm thế nào bạn sẽ làm điều này?
Theo như tôi biết, .success() cư xử giống như .Sau đó() và trả về một nguồn gốc lời hứa quá. return $ http.get(). success() cũng sẽ hoạt động. – Okazari
Hầu như - cảm ơn bạn đã xác minh điều này. 'success' trả về lời hứa ban đầu (chứa đáp ứng HTTP), và' then' trả về một lời hứa mới được giải quyết với kết quả của hàm mà bạn đưa ra. Tham khảo: http://stackoverflow.com/a/23805864/802618 –
Thx cho việc bổ sung, không phải bây giờ điều này chính xác. – Okazari