我有几个看起来像这样的资源类:
.factory('SettingsResource', function (DefaultResource) {
var endpoint = '/settings';
var params = {};
var options = {};
return new DefaultResource(endpoint, params, options);
}
所有资源类都使用DefaultResource作为“基础”:
.factory('DefaultResource', function ($resource, UserResource) {
var baseURL = 'rest',
baseParams = {
currentRole: function () {
return "Admin";
}
},
baseOptions = {
}
return function (endpoint, params, options) {
...
// Code ommited
};
}
正如您所看到的,我需要将一个名为'currentRole'的默认参数附加到每个请求中。
目前该参数是硬编码的,但实际上我应该从http调用中获取它,例如像这样:
currentRole: function () {
$resource.get('rest/currentRole').$then(function (response) {
return response.data;
});
}
我已经尝试过使用Provider并尝试在config函数中进行http调用。但显然不允许这样做(只能注入提供者,我不能在config-function中使用$ resource.get)。
有谁知道我怎么能这样做?基本上:如何向资源添加动态,异步加载的默认参数?
我真的很感谢你的帮助! 迈克尔