如何向资源添加动态,异步加载的默认参数

时间:2013-06-28 11:44:57

标签: angularjs

我有几个看起来像这样的资源类:

.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)。

有谁知道我怎么能这样做?基本上:如何向资源添加动态,异步加载的默认参数?

我真的很感谢你的帮助! 迈克尔

0 个答案:

没有答案