gpt4 book ai didi

angularjs - 有没有办法在AngularUI路由器中的任何子解决之前解决 promise

转载 作者:行者123 更新时间:2023-12-03 09:29:24 25 4
gpt4 key购买 nike

我在 CoffeeScript 中有 2 个状态...

stateProvider.state  'test',
...
resolve:
user: (LongRunning)->
LongRunning.authenticate().then ->
console.log("We are authenticated!")

stateProvider.state 'test.child',
...
resolve:
other: (AfterAuth)->
AfterAuth.soSomethingWithAuth().then ->
console.log("We are done!")

当然这不起作用,因为在解决父级的身份验证方法之前就启动了子级解析。这意味着第二个函数不会被验证并导致整个状态失败。

现在它不一定是状态路径的一部分,但它需要在调用解析函数时完全完成。

在调用子方法之前,如何确保父函数已完全解析?

错误 (?) 解决方案

我能想出的一个答案是使用手动引导过程。但是,这很乏味,因为我需要重新连接所有服务。无论如何我可以在Angular中做到这一点吗?

最佳答案

你为 Angular 2 或 AngularJS 使用 AngularUI 路由器吗?我认为这是 AngularJS,因为您使用的是 coffeescript 和 AngularUI 路由器。这是 Angular 标签而不是 AngularJS。

无论如何,在 AngularUI 路由器中,一个解析器可以依赖于另一个解析器。像这样的东西:

 function firstStep($stateParams, resolveStatus) {
return $q.resolve();
}

resolve: {
firstStep: firstStep,
secondStep: ['firstStep', function (firstStep) {
...
}]
}

关于angularjs - 有没有办法在AngularUI路由器中的任何子解决之前解决 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44686252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com