防止electron应用程序关闭,直到清理完成
我试图让我的electron应用程序在退出应用程序时进行一系列清理(终止一些进程,删除一些临时文件,等等)。我正在使用before quit事件触发清理功能。如果我的计算机运行得很快,这些清理操作会在退出应用程序之前完成,但是如果计算机运行得很慢,清理功能有时只会部分执行 在我的清理功能完全执行之前,有没有办法阻止应用程序完全退出防止electron应用程序关闭,直到清理完成,electron,Electron,我试图让我的electron应用程序在退出应用程序时进行一系列清理(终止一些进程,删除一些临时文件,等等)。我正在使用before quit事件触发清理功能。如果我的计算机运行得很快,这些清理操作会在退出应用程序之前完成,但是如果计算机运行得很慢,清理功能有时只会部分执行 在我的清理功能完全执行之前,有没有办法阻止应用程序完全退出 app.on('before-quit', async () => { try { await cleanUp(); } catch (err)
app.on('before-quit', async () => {
try {
await cleanUp();
} catch (err) {
console.error(err);
}
});
如中所述,您可以在退出前在事件处理程序中使用event.preventDefault()
,以防止应用程序终止
然后,清理代码可以畅通无阻地运行。在清理结束时,以编程方式关闭应用程序
为了确保退出前的不会阻止应用程序终止,您可能需要跟踪应用程序的当前状态。如果清除代码已完成,您可能希望在退出之前允许应用程序在内部终止。这意味着:仅当清理尚未完成时才执行event.preventDefault()
通知用户应用程序的状态可能是明智的:显示“正在关闭”或类似的内容,这样就可以清楚地看到应用程序不再正常工作