我可以在浏览器/选项卡关闭之前调度 NgRX Action & Effect 吗?



我使用firebase云来存储用户的数据。为了便于争论,比方说他们最喜欢的电影是从一个列表中选出的。现在,在使用免费的firebase层时,我不想每次用户将电影标记为他们最喜欢的电影时都写入火云。

我的意图是在用户注销(我已经知道如何做了(或关闭浏览器选项卡后更新云中的数据。

是否可以在关闭浏览器/选项卡的过程之前或期间调度操作?

对于这种行为,有其他方法吗?

是的,您应该利用window:beforeunload事件,相应于MDN:

当窗口、文档及其资源即将卸载时,将触发beforeunload事件。文档仍然可见,此时事件仍然可以取消。

这通常是我在需要时在应用程序的核心组件中所做的:

@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
this.store.dispatch(SomeActions.fireTheAction());
}

最新更新