#node.js #process #electron
#node.js #процесс #электронный
Вопрос:
при закрытии моего приложения Electron процесс приложения продолжает выполняться. вот мой код:
label: 'Close', click() {
app.quit()
}
window.on('close', function (e) {
var choice = require('electron').dialog.showMessageBox(this,
{
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
});
if (choice == 1) {
e.preventDefault();
}
})
Что я делаю не так?
Ответ №1:
Вы предотвращаете поведение события Close по умолчанию. (например,preventDefault())
Вы не должны запрашивать подтверждение пользователя при событии закрытия. Целью события window.on(‘закрыть’) является выполнение задач очистки, таких как удаление временных файлов, закрытие других связанных процессов, если window является родительским окном.
Вы можете записать это таким образом:
label: 'Close', click() {
var choice = require('electron').dialog.showMessageBox({
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
}, (response) => {
if (response == '0') {
app.quit()
}
})
window.on('close', function (e) {
window = null // Clean up your window object.
})