首页 > 解决方案 > 一个一个地执行解析器?

问题描述

在以下代码中,我有两个解析器:loggedinowner.

   .when('/admin/deals/my-deals', {
        templateUrl: 'views/assessment/assessments_my_test.html',
        controller: 'DealTestController',
        resolve: {
            loggedin: checkAdminin,
            owner: getOwnerByEmail
        }
    })

它们并行运行,但我需要先等待loggedin,然后才能运行owner。如何做到这一点?

标签: angularjs

解决方案


你可以链接承诺。现在这些是路由的特殊承诺,我没有设置环境来在 angularjs 中测试它,但它确实可以在纯 JavaScript 中工作。值得尝试类似的东西:

resolve: {
  loggedin: checkAdminin.then(getOwnerByEmail)
}

您将不得不以某种方式链接这两个 Promise,否则它们将异步运行。


推荐阅读