ui路由器竞争条件?

时间:2018-03-07 19:52:05

标签: angularjs angular-ui-router

我注意到当我在状态之间快速导航时可能发生的竞争条件。

假设我导航到状态A.编译与状态相关的指令。如果某些嵌套指令使用异步编译的templateURls,则可能需要一段时间。

在这种情况下,我转换到一个新的状态B.原始状态的ui视图被破坏了。但是一些嵌套的内部指令可能仍在编译!

如果存在已经被销毁的依赖项,嵌套编译可能会抛出异常。

感觉异步编译与UI路由器不兼容?我该如何避免这些类型的问题?

1 个答案:

答案 0 :(得分:0)

首先使用Angularjs解析器函数处理所有指令和文件,并保持良好的体系结构,以便增强应用程序转换。

解决您的指令所依赖的所有依赖项,例如http请求和服务处理或I / O操作

您可以使用以下链接获取解析器 https://toddmotto.com/resolve-promises-in-angular-routes/