Tôi đang sử dụng một số dữ liệu từ một dịch vụ RESTful trong nhiều trang. Vì vậy, tôi đang sử dụng các nhà máy góc cạnh cho việc đó. Vì vậy, tôi yêu cầu lấy dữ liệu một lần từ máy chủ và mọi lúc tôi đều lấy dữ liệu bằng dịch vụ đã xác định đó. Cũng giống như một biến toàn cục. Đây là mẫu:
var myApp = angular.module('myservices', []);
myApp.factory('myService', function($http) {
$http({method:"GET", url:"/my/url"}).success(function(result){
return result;
});
});
Trong bộ điều khiển của tôi, tôi đang sử dụng dịch vụ này như:
function myFunction($scope, myService) {
$scope.data = myService;
console.log("data.name"+$scope.data.name);
}
Nó hoạt động tốt cho tôi theo yêu cầu của tôi. Nhưng vấn đề ở đây là, khi tôi tải lại trang web của mình, dịch vụ sẽ được gọi lại và yêu cầu máy chủ. Nếu ở giữa một số thực thi chức năng khác phụ thuộc vào "dịch vụ được xác định", thì nó sẽ gây ra lỗi như "cái gì đó" không được xác định. Vì vậy, tôi muốn đợi trong tập lệnh của mình cho đến khi dịch vụ được tải. Làm thế nào tôi có thể làm điều đó? Có cách nào làm điều đó trong anglejs không?