我有angularJs getter和setter工厂来获取processkey
,setter正在按预期方式工作,并且在processKey
中确实有processFactory
,但是当我从控制器调用getProcessid
时,它抛出了以下错误。
如何使用AngularJS解决此问题?
ctrl.js
processFactory.setProcessId($stateParams.processId);
processFactory.getProcessId().then(function(response){
var processKey = response;
consoel.log('PROCESSKEY GETTER',processKey)
});
factory.js
setProcessId: function(id){
processKey = id;
},
getProcessId: function(){
return processKey;
}
错误
angular.js:11594 TypeError: processFactory.getProcessId(...).then is not a function
最佳答案
我猜没有异步操作,因此您可以简单地完成-
$cookies.put("", token);
var processKey = processFactory.getProcessId();
如果要在函数内执行一些异步操作,则可能要使用promise ...仍然要使控制器代码正常工作,则可以编写如下内容:
getProcessId: function(){
var defer = $q.defer();
defer.resolve(processKey);
return defer.promise;
}