我可以在 Browser/Tab 关闭之前调度 NgRX 动作和效果吗?
Can I Dispatch NgRX Action & Effect before Browser/Tab is closed?
我正在使用 firebase 云存储用户数据。为了争论起见,假设是他们最喜欢的电影。现在,在使用免费的 firebase 层后,我不想每次用户将电影标记为他们的最爱时都写入 fire-cloud。
我的意图是在用户注销(我已经知道该怎么做)或关闭浏览器后更新云中的数据||选项卡
是否可以在关闭 browser/tab 进程之前或期间调度操作?
是否有针对此行为的替代方法?
是的,根据 MDN,您应该利用 window:beforeunload
事件:
The beforeunload event is fired when the window, the document and its resources are about to be unloaded. The document is still visible and the event is still cancelable at this point.
这通常是我在需要时在我的应用程序的核心组件中所做的事情:
@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
this.store.dispatch(SomeActions.fireTheAction());
}
我正在使用 firebase 云存储用户数据。为了争论起见,假设是他们最喜欢的电影。现在,在使用免费的 firebase 层后,我不想每次用户将电影标记为他们的最爱时都写入 fire-cloud。
我的意图是在用户注销(我已经知道该怎么做)或关闭浏览器后更新云中的数据||选项卡
是否可以在关闭 browser/tab 进程之前或期间调度操作?
是否有针对此行为的替代方法?
是的,根据 MDN,您应该利用 window:beforeunload
事件:
The beforeunload event is fired when the window, the document and its resources are about to be unloaded. The document is still visible and the event is still cancelable at this point.
这通常是我在需要时在我的应用程序的核心组件中所做的事情:
@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
this.store.dispatch(SomeActions.fireTheAction());
}