electron 当电子应用程序关闭时,如何等待异步操作完成?

y1aodyip  于 2023-01-22  发布在  Electron
关注(0)|答案(2)|浏览(268)

我有一个电子JS桌面应用程序,它应该做一些关闭操作时,关闭或退出。然而,该应用程序正在关闭之前,我的异步操作结束。
如何让应用等待异步选项完成并仅在完成后关闭?

ds97pgxw

ds97pgxw1#

您可以在主进程(main.js)中使用before-quit事件:

function task1() {
  return new Promise((resolve) => {
    // do something
    resolve("task1");
  });
}

function task2() {
  return new Promise((resolve) => {
    // do something
    resolve("task2");
  });
}

app.on('before-quit', function () {
  task1().then((_resp1) => {
    task2().then((_resp2) => {
      app.quit();
    });
  })
})
bmvo0sr5

bmvo0sr52#

在我的应用程序中,我会:

app.on("window-all-closed", async () => {
    await asyncThing();
    app.quit();
});

相关问题