问题定义:
我需要将授权标头注入WebView的会话存储中,以便服务器对用户进行身份验证并重定向到仪表板。如果注入延迟,WebView将加载用户并将其重定向到服务器的登录页面,因为它无法在会话存储中找到授权标头。
我尝试过的事情:
WebView的onLoadStrat,我已经使用this.webview.injectJavaScript()
这样做,我可以将数据注入会话存储 ,但是在首次加载时就有竞争条件 。注入会花费一些时间,并且登录屏幕已显示在仪表板上。
预期结果:
我们希望毫不拖延地实现注入。建议我是否还有其他方法可以按照我们希望的方式进行。
等待您的来信。非常感谢您的宝贵建议。
谢谢。
答案 0 :(得分:0)
您所面对的通常是React异步特性的直接结果。您无法停止登录屏幕渲染的发生(换句话说,<mat-option *ngFor="let ingridient of allIngridients | async" [value]="ingridient._id">
函数无法停止)。但是您可以做的是,可以将数据注入render()
中,然后在设置好数据之后,更改组件状态中的某些变量。这将迫使组件重新渲染,但是这次您将注入数据。步骤如下:
1。)让它首先渲染(您不能停止它,反正停止它是反模式)。
2。)根据需要注入数据。
3。)完成步骤2后,立即更改组件的sessionStorage
。
所有这些操作都应该很快完成,并且最终用户imo不应该看到。