javascript – 在Angular中读取属性文件值
作者:互联网
我已经对使用$http服务访问属性文件做了一些回复,但现在确定它在这种情况下是如何适应的
我已经创建了一个从poperties文件返回主机名的服务,该服务的调用客户端应该对服务进行阻塞调用,并且只有在读取属性文件时才继续.
var serviceMod = angular.module('serviceModule',[])
.factory('configService', function($http){
return {
getValue: function(key){
$http.get("js/resources/urls.properties").success(function(response){
console.log('how to send this response to clients sync??? ' + response)
})
return ????
}
}
})
someOtherControllr.js
var urlValue = configService.getValue('url')
我面临的问题是与$http服务的aync特性有关.当回调接收到响应时,主线程已经完成执行someOtherController.js
解决方法:
您需要解决服务返回的承诺.我们可以返回$http调用并在我们的控制器中解析它(因为返回$http.get是一个promise本身).查看AngularJS $q和$http文档,以便更好地理解正在发生的基础机制,并观察以下变化……
.factory('configService', function($http) {
return {
getValue: function(key) {
return $http.get('js/resources/urls.properties');
}
}
});
var urlValue;
// --asynchronous
configService.getValue('url').then(function(response) {
urlValue = response.data; // -- success logic
});
console.log('be mindful - I will execute before you get a response');
[...]
标签:javascript,angularjs,angularjs-service 来源: https://codeday.me/bug/20190702/1357739.html