【发布时间】:2016-05-20 10:15:03
【问题描述】:
我有一个函数来获取我需要存储在本地存储中的当前公司代码,并在其余的 API 调用中使用它。所以在没有检索到这个公司代码的值之前,我不应该进行 API 调用。 这就是我获取公司代码的方式
currentDivision = function() {
var q = $q.defer();
var division = window.localStorage.getItem("CurrentDivision");
if(division){
return q.resolve(division);
}
else{
var url = this.fooApi + "current/Me?$select=CurrentDivision";
$http.get(url)
.success(function(data) {
division = data.d.results[0].CurrentDivision;
window.localStorage.setItem("CurrentDivision", division);
return q.resolve(division);
})
}
return q.promise;
}
这就是我在确保成功检索当前分区后尝试调用其余 API 调用的方式:
$scope.openModal = function() {
$scope.modal.show().then(function() {
currentDivision().then(function(){
fooServices.getData().then(function() {
$scope.closeModal();
}, function(reason) {
// handle the error
$scope.showAlert(reason);
$scope.closeModal();
})
});
})
}
但是当我尝试这个时,我收到以下错误消息: TypeError:无法读取未定义的属性“then”
【问题讨论】:
标签: javascript angularjs