Angularjs 角度平移-当多个加载程序时,它只执行最后一个加载程序

Angularjs 角度平移-当多个加载程序时,它只执行最后一个加载程序,angularjs,angular-translate,Angularjs,Angular Translate,我有一个项目使用带有自定义加载程序的angular translate。 基本上,这是我的提供者中的配置(它工作得很好) 提供者(在我的应用程序配置中执行的内容) $translateProvider.useSanitizeValueStrategy('sanitize'); $translateProvider.useLoader('componentsTranslationLoader'); $translateProvider.preferredLanguage($language);

我有一个项目使用带有自定义加载程序的angular translate。
基本上,这是我的提供者中的配置(它工作得很好)

提供者(在我的应用程序配置中执行的内容)

$translateProvider.useSanitizeValueStrategy('sanitize');
$translateProvider.useLoader('componentsTranslationLoader');
$translateProvider.preferredLanguage($language);
如您所见,我使用自己的组件TranslationLoader。它按预期完成了任务

工厂(组件运输装载机)

从这里一切都很好


我必须在这个项目中使用一个库(公司的库,我可以编辑它),这个库也有他自己的角度翻译工具(基本上是一样的)。
它有一个自定义加载程序,初始化到配置中

当我的项目执行时,我希望两个加载器都能完成自己的工作,并用它们的键扩展语言。
但事实并非如此。
只执行最后一个加载程序(请参阅日志)

那么,我如何才能正确解决此冲突呢?
我使用角度平移的方式有问题吗?
谢谢你们的帮助

编辑(添加更多信息)
我使用不同的“假”加载程序在配置中添加了更多类似这样的调用:

$translateProvider.useLoader('aFakeLoaderWithLogs');
问题仍然是一样的,只调用配置中的最后一个。

我搜索了有类似问题的主题,但没有找到任何内容,甚至在文档中也没有找到

尝试这种合并响应的方法。这对我很管用

function customLoader($http, $q, localeUrl, errorCodeUrl) {

    return  function (options) {
        var deferred = $q.defer();
        var translations = [];

        $q.all([
            $http.get(localeUrl + "locale-" + options.key +".json"),
            $http.get(errorCodeUrl + "?lang=cs")
        ]).then(function(response, status) {
            translations.push(response[0].data);
            translations.push(response[1].data);
            console.log(translations);
            deferred.resolve(translations);
            return translations;
        });

        return deferred.promise;
    };
}

尝试这种合并响应的方法。这对我很管用

function customLoader($http, $q, localeUrl, errorCodeUrl) {

    return  function (options) {
        var deferred = $q.defer();
        var translations = [];

        $q.all([
            $http.get(localeUrl + "locale-" + options.key +".json"),
            $http.get(errorCodeUrl + "?lang=cs")
        ]).then(function(response, status) {
            translations.push(response[0].data);
            translations.push(response[1].data);
            console.log(translations);
            deferred.resolve(translations);
            return translations;
        });

        return deferred.promise;
    };
}

我应该开始悬赏吗?:-)我解决了你的问题。请核对我的答案,你可以把它标记为正确。我应该开始赏金吗?:-)我解决了你的问题。请核对我的答案,你可以把它标为正确。