有一个Angular应用,在下载整个应用之前需要先请求获取用户数据,也就是需要等待服务器响应,将数据写入ngRx存储,然后才下载应用。
它的用途:应该限制管理页面并检查用户是否被授权,并且此信息应该来自服务器的响应。
还是有其他方法可以实现此功能?
有一个Angular应用,在下载整个应用之前需要先请求获取用户数据,也就是需要等待服务器响应,将数据写入ngRx存储,然后才下载应用。
它的用途:应该限制管理页面并检查用户是否被授权,并且此信息应该来自服务器的响应。
还是有其他方法可以实现此功能?
您可以为此使用APP_INITIALIZER令牌。文章举例
简而言之,在根模块(例如 app.module.ts)中,您需要添加一个新的 provider:
{provide: APP_INITIALIZER, useValue: () => promise, multi: true}]}
,其中 useValue 是一个返回 Promise 的方法。当 promise 解决时,应用程序将继续运行。那些。在 useValue 中,您可以传递负责初始化应用程序的服务的方法,并且在此方法中您已经可以发送请求、设置状态以及执行应用程序工作所需的其他操作。最后最重要的是不要忘记决心。