gpt4 book ai didi

javascript - 为什么 Angular 2 的 CanActivate 返回 Observable 而不是 Promise?

转载 作者:太空狗 更新时间:2023-10-29 19:35:28 24 4
gpt4 key购买 nike

CanActivate class允许 Observable<boolean>返回类型。

唯一对我有意义的用例是:

  1. CanActivate可以“异步”阻止显示的路由,直到 observer.next(true|false)被称为。
  2. 我可以显示一条路线 CanActivate然后允许推送 observer.next(false)从我的应用程序的另一部分并让该路线消失。

但是,第一点有效但第二点无效。因此我找不到 CanActivate 的原因应该允许返回类型 Observable<boolean>除了方便之外——这反过来又使 API 复杂化。如果 CanActivate 会更干净只允许 boolean返回类型和 Promise .

请注意,我是 Angular、RxJS 和所有基于 Node 的新手,所以我可能会遗漏一些显而易见的东西。我花了一段时间试图从 CanActivate 中提取功能那Observer<boolean>返回类型暗示。

最佳答案

在 AngularJS 2 中,几乎每个异步操作都会返回 Observable。因为您可以实现自己的 CanActivate,所以您可能希望通过服务器访问来实现。例如,检查服务器中的管理员凭据。你可以看到类似的例子 here .

如果此方法返回 bool 数据类型,您需要阻止该页面才能这样做。

关于javascript - 为什么 Angular 2 的 CanActivate 返回 Observable<boolean> 而不是 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38883203/

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