我目前有一个工厂,我用它来检索配置文件。
m.factory('clientConfig', function($resource) {
var r;
r = $resource('assets/config.json', {}, {
query: {
method: 'GET'
},
isArray: false
});
return r.query();
});
配置文件是一个 json 文件,其中包含 nodeJS 服务器的位置。在我的本地环境中,json文件是
{
"serverURL": "http://localhost\\:3000"
}
当我在首页上启动我的应用程序时,这很好。前端页面加载clientConfig模块,任何后续页面只使用clientConfig模块,如下所示,没有任何问题
m.factory('House', function($resource, clientConfig) {
return $resource(clientConfig.serverURL + '/houses/:houseId',
...
我遇到的问题是,如果我在一个立即想要从服务器加载数据的页面上进入该站点。在这种情况下,因为 clientConfig 尚未填充并且仍然为空,这会填满我的 $resource(clientConfig.serverURL + '/houses/:houseId' 调用。
我的问题是是否可以同步加载 clientConfig 或者至少在填充 clientConfig 之后才能启动我的应用程序?