Angular PWA 从未进入稳定状态
Angular PWA never entering into stable state
我正在开发的 Angular 应用程序永远不会进入稳定状态,基于 ApplicationRef.isStable
,它只会发出 false
一次。根据 Angular docs:
the application will never be stable if you start any kind of recurrent asynchronous task when the application starts (for example for a polling process, started with a setInterval, a setTimeout or using RxJS operators like interval);
所以我回顾了 setTimeout()
、setInterval()
(none) 和 RxJS 的 interval()
的所有用法,我推迟到 appRef.isStable
给出true 和 SignalR(一种 websocket)连接一样,但这一切都没有帮助。我试图使用 DevTools 的性能、内存和 LightHouse 工具来查找这种不良行为的根源,但我看到的唯一 运行 任务(在性能选项卡中的前半秒)来自 zone.js 和略微增长的 JS 堆:
在“网络”选项卡中,除了与开发服务器上 Angular 的 127.0.0.1:4200/sockjs-node/*/websocket
的挂起连接外,没有任何反应,我想这很好。在所有生产环境中都可以看到相同的行为(Angular 的 websocket 除外)。
请问有什么调试方法可以找到原因吗?还有其他建议吗?
这是由 RxJS 的 windowTime()
运算符引起的。
我正在开发的 Angular 应用程序永远不会进入稳定状态,基于 ApplicationRef.isStable
,它只会发出 false
一次。根据 Angular docs:
the application will never be stable if you start any kind of recurrent asynchronous task when the application starts (for example for a polling process, started with a setInterval, a setTimeout or using RxJS operators like interval);
所以我回顾了 setTimeout()
、setInterval()
(none) 和 RxJS 的 interval()
的所有用法,我推迟到 appRef.isStable
给出true 和 SignalR(一种 websocket)连接一样,但这一切都没有帮助。我试图使用 DevTools 的性能、内存和 LightHouse 工具来查找这种不良行为的根源,但我看到的唯一 运行 任务(在性能选项卡中的前半秒)来自 zone.js 和略微增长的 JS 堆:
在“网络”选项卡中,除了与开发服务器上 Angular 的 127.0.0.1:4200/sockjs-node/*/websocket
的挂起连接外,没有任何反应,我想这很好。在所有生产环境中都可以看到相同的行为(Angular 的 websocket 除外)。
请问有什么调试方法可以找到原因吗?还有其他建议吗?
这是由 RxJS 的 windowTime()
运算符引起的。