防止electron应用程序关闭,直到清理完成

防止electron应用程序关闭,直到清理完成,electron,Electron,我试图让我的electron应用程序在退出应用程序时进行一系列清理(终止一些进程,删除一些临时文件,等等)。我正在使用before quit事件触发清理功能。如果我的计算机运行得很快,这些清理操作会在退出应用程序之前完成,但是如果计算机运行得很慢,清理功能有时只会部分执行 在我的清理功能完全执行之前,有没有办法阻止应用程序完全退出 app.on('before-quit', async () => { try { await cleanUp(); } catch (err)

我试图让我的electron应用程序在退出应用程序时进行一系列清理(终止一些进程,删除一些临时文件,等等)。我正在使用before quit事件触发清理功能。如果我的计算机运行得很快,这些清理操作会在退出应用程序之前完成,但是如果计算机运行得很慢,清理功能有时只会部分执行

在我的清理功能完全执行之前,有没有办法阻止应用程序完全退出

app.on('before-quit', async () => {
  try {
    await cleanUp();
  } catch (err) {
    console.error(err);
  }
});
如中所述,您可以在退出前在
事件处理程序中使用
event.preventDefault()
,以防止应用程序终止

然后,清理代码可以畅通无阻地运行。在清理结束时,以编程方式关闭应用程序

为了确保退出前的
不会阻止应用程序终止,您可能需要跟踪应用程序的当前状态。如果清除代码已完成,您可能希望在退出之前允许应用程序在
内部终止。这意味着:仅当清理尚未完成时才执行
event.preventDefault()

通知用户应用程序的状态可能是明智的:显示“正在关闭”或类似的内容,这样就可以清楚地看到应用程序不再正常工作