编程语言
首页 > 编程语言> > javascript – 在Angular中读取属性文件值

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