이것은 내 공장이고 saveData에서 getData를 호출하고 싶습니다. 여기 내 코드가 있습니다.
.factory('dataSyncOperation', function($q,$http){
return {
getData:function(){
var q = $q.defer();
var config = {
headers : {
'Content-Type': 'application/json'
}
}
$http.get(api+'/sync/').then(function(response){
q.resolve(response);
},function(error){
q.reject();
})
return q.promise;
},
saveData:function(){
}
}
}); getData가 반환 한 promise를 saveData에 어떻게 사용할 수 있습니까?
당신은 항상 이렇게 할 수 있습니다.
saveData:function(){
this.getData().then(function(response){ // you can handle getData promise here
// on success
}, function(reject){
// on failure
});
}
당신의 saveData
방법 내에서 이것이 당신이 찾고있는 것이 무엇인지 알려주십시오.
작업 예 -http : //plnkr.co/edit/y8WZQT8SvOAWpKj8Jgxs ? p=preview
코드-
// Code goes here
var myApp = angular.module('myApp', []);
myApp.controller('mainCtrl', function($scope, testService){
testService.saveData().then(function(res){
$scope.test = res.data;
});
})
myApp.factory('testService', function($q, $http){
return {
getData:function(){
var q = $q.defer();
$http.get('data.json').then(function(response){
q.resolve(response);
}, function(error){
q.reject();
})
return q.promise;
},
saveData:function(){
return this.getData();
}
}
})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다