javascript - AngularJS:有没有更好的方法来同步两个 promise ?

标签 javascript angularjs

$http.get('/services/menu').success(function (dataMenu) {
    $http.get('/services/language').success(function (dataLanguage) {
            console.log('dataLanguage', dataLanguage);
            $scope.menuRoot = dataMenu.result.items;
            $scope.menuItems = dataMenu.result.items;
            $scope.languageRoot = dataLanguage.result;
            $scope.currentMenuItem = null;
            $scope.refreshExperiments();
            $scope.mergeLanguage();
    });
});

最佳答案

是的,您可以使用 $q.all 并行运行它们:

$q.all([$http.get('/services/menu'), $http.get('/services/language')])
   .then(function (res) {
        var dataMenu = res[0].data.result.items;
        console.log('dataLanguage', res[1].data);
        $scope.menuRoot = dataMenu;
        $scope.menuItems = dataMenu;
        $scope.languageRoot = res[1].data.result;
        $scope.currentMenuItem = null;
        $scope.refreshExperiments();
        $scope.mergeLanguage();
});

关于javascript - AngularJS:有没有更好的方法来同步两个 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18063295/

相关文章:

javascript - 如何在javascript中向URL传递参数?

javascript - 使用 webpack 正确使用 source-map 进行可视化代码

javascript - 如何从 Codepen 获取代码并在本地使用?

javascript - 使用 $q.all 的 Angular Promises

routing - 错误 : Unknown provider: $elementProvider <- $element

javascript - 如何使用 angularjs 在 HighChart 中传递响应数据

javascript - 与 PC 相比,jquery 在移动设备上的行为不同,代码相同

javascript - 帕雷尼佐是什么意思?

php - 需要从 Angular JS 数组中获取值

javascript - 基于国家/地区的路由