Angularjs 동기화 작업 http 요청 $promise
// Define a factory
app.factory('profilePromise', ['$q', 'AccountService', function($q, AccountService) {
var deferred = $q.defer();
AccountService.getProfile().then(function(res) {
deferred.resolve(res);
}, function(res) {
deferred.resolve(res);
});
return deferred.promise;
}]);
// use a factory
// parent controller user
$scope.getPersonalInfo = function() {
profilePromise.then(function(res) {
var profile = res.content;
........
// define a scope used on child
$scope.profilePromise = profilePromise;
원인: 때로는 전방에서 개발할 때 같은 http 요청을 여러 번 호출해야 한다. 만약에 여러 번 불러오면 불필요한 http 요청을 낭비하지 않을 뿐만 아니라 여러 개의 코드 유지보수도 있어 개발에 많은 변화를 가져온다.
다른 한편, $boardcast 상위 레벨을 사용하여 하위 레벨에 메시지 데이터를 보내면 하위 레벨에서 비동기적인 조작으로 필요한 데이터를 정확하게 가져올 수 없습니다.
여기에factory를 추가합니다. 한 곳에 유지보수를 추가하고 다른 곳에서 직접 사용하면 됩니다.
참고:http://www.webdeveasy.com/interceptors-in-angularjs-and-useful-examples/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AngularJs $scope 기능 및 Filter 공통점우선 우리는 이러한 실례를 본다. 인스턴스 사용: (Works good) 다른 예: (Html 삽입, It doesn't work, WHY?) 발상 전환: (Work perfect)...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.