我试图以角度来阅读属性文件,它需要在我的项目的根目录下放置这个文件而不需要任何角度的东西,只是一个简单的文件,比如java。
这就是我正在做的事。
创建angular.properties文件。
angular.properties
{
"url": "http://localhost"
}
这是我的控制器,我在其中调用我的服务方法:
控制器
captchaService
.all()
.then(function(data) {
...
}, function (data) {
...
});
这是我的服务类:
服务
'use strict';
angular.module('app.service', [])
.factory('myService',
['$http', '$q',
function ($http, $q) {
var _URL = "";
function getValuesFromProperties() {
$http({
method : 'GET',
url : 'angular.properties'
}).success(function (data, status, headers, config) {
_URL = data.url;
}).error(function (data, status, headers, config) {
...
});
}
function all() {
getValuesFromProperties();
var deferred = $q.defer(),
promise = deferred.promise;
sessionStorage.removeItem('X_CAPTCHA_TOKEN');
$http({
method : 'POST',
url : _URL
}).success(function (data, status, headers, config) {
...
}).error(function (data, status, headers, config) {
...
});
return promise;
}
return {
all : all,
getValuesFromProperties : getValuesFromProperties
};
}]);
但是在我的服务类中我有两个$ http以异步方式运行,因此我无法获得url
的值,其他一切都很完美。怎么解决这个?也许有另一种方法可以做到这一点。我不想创建一个常量类,因为这个文件放在项目的根目录下,它将被配置为其他人,他们不需要进入很多文件夹和检查代码,搜索和编辑。有什么想法吗?