나는 레거시 콜백 주위에 약속을 포장하기 위해 $q
을 사용하고 있습니다. 그러나 기존 콜백에는 반환 할 값이 없습니다. 매개 변수없이 성공 함수를 사용합니다.반환 값이없는 AngularJS 약속 만들기
angular.module('MyModule').service('MyService', function() {
function initialize() {
var deferred = $q.defer();
LegacyFactory.initialize(
// 'void' Success Callback
function() {
deferred.resolve (/* WHAT DO I PUT HERE? */);
},
// Error Callback
function (errorCode) {
deferred.reject(errorCode);
});
return deferred.promise;
}
});
나는 AngularJS와 워드 프로세서에서 resolve
의 void
버전을 찾을 수 없습니다. 더미 값을 반환 할 수 있지만 클라이언트가 더미 값에 액세스 할 수 있습니다. 이로 인해 혼동이 생길 수 있습니다.
반환 값없이 AngularJS 약속을 어떻게 작성합니까?
참고 : AngularJS promise returning empty object이라는 질문은 완전히 다릅니다. 이 질문은 resolve
함수의 값을 반환합니다.
'.. deferred.resolve()'로 해결됩니까? – PSL
@PSL 가능합니까? 문서에서는 언급하지 않습니다. – metacubed
예, 값없이 해결할 수 있습니다. 그냥 시도하고 무슨 일이 일어 나는지 볼 :) http://plnkr.co/edit/BpYqlg?p=preview – PSL