0
我有一個應用程序在退出之前需要進行API調用(類似於註銷)。由於我仍然需要訪問API調用的某些應用程序數據(redux store),因此我決定在應用程序上收聽「退出前」事件。在電子(atom-shell)中使用'before-quit'事件
我嘗試下面的代碼:
import {remote} from 'electron';
let loggedout = false;
remote.app.on('before-quit', (event) => {
if (loggedout) return; // if we are logged out just quit.
console.warn('users tries to quit');
// prevent the default which should cancel the quit
event.preventDefault();
// in the place of the setTimout will be an API call
setTimeout(() => {
// if api call was a success
if (true) {
loggedout = true;
remote.app.quit();
} else {
// tell the user log-out was not successfull. retry and quit after second try.
}
}, 1000);
});
事件似乎永遠不會解僱或防止關機不起作用。 當我用browser-window-blur
代替before-quit
事件確實火和代碼似乎工作。
僅供參考我使用Electron 1.2.8(由於某些依賴關係,我無法升級)。我已經加倍檢查,before-quit
事件在該版本中已經是implemented。
任何想法爲什麼這個事件似乎沒有被解僱?
在預先感謝和節日快樂!