angularjs - 一个一个地执行解析器?
问题描述
在以下代码中,我有两个解析器:loggedin
和owner
.
.when('/admin/deals/my-deals', {
templateUrl: 'views/assessment/assessments_my_test.html',
controller: 'DealTestController',
resolve: {
loggedin: checkAdminin,
owner: getOwnerByEmail
}
})
它们并行运行,但我需要先等待loggedin
,然后才能运行owner
。如何做到这一点?
解决方案
你可以链接承诺。现在这些是路由的特殊承诺,我没有设置环境来在 angularjs 中测试它,但它确实可以在纯 JavaScript 中工作。值得尝试类似的东西:
resolve: {
loggedin: checkAdminin.then(getOwnerByEmail)
}
您将不得不以某种方式链接这两个 Promise,否则它们将异步运行。
推荐阅读
- ruby - Active Record has_many :messages 没有正确保存记录
- c# - EF6:如何在列表中搜索项目?
- android - 有什么方法可以识别 android 应用程序中的选项卡视图?
- c++ - 使用 Web 浏览器时出现活动 Qt 错误
- c++ - 将唯一指针插入 std::map
- excel - 根据 Excel 中的单元格值选中或取消选中复选框
- javafx - Javafx 文本字段:仅接受长度为 8 或 11 的数字(电话号码)
- scala - 为什么 Gatling 在有效的 jsonpath 上失败?
- gradle - Corda - 版本升级和 Gradle 工具问题
- c - 如何立即销毁分离的共享内存