gpt4 book ai didi

javascript - 带有消息框确认的 Electron 应用程序关闭对话框

转载 作者:行者123 更新时间:2023-12-05 04:44:57 25 4
gpt4 key购买 nike

我使用此 repo 中的 Electron v13.0.1

需要关闭确认,使用这个实现:

win.on('close', function (e) {
require('electron').dialog.showMessageBox(this, {
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
}).then(function (data) {
if (data.response === 0) {
e.preventDefault();
}
});
});

但是当我点击关闭按钮时,第二次出现对话框并且应用程序关闭时没有任何确认或拒绝。换句话说,对话框不会为关闭创建连词。

我的解决方案有什么问题?

最佳答案

问题是您正在调用一个异步方法,并且事件函数继续执行并最终在给出任何用户输入之前返回。

解决此问题的一种方法是使用showMessageBoxSync 函数进行同步操作。这将等到用户在继续执行之前选择一个选项。如下所示:

const { dialog } = require('electron');

win.on('close', function (e) {
let response = dialog.showMessageBoxSync(this, {
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
});

if(response == 1) e.preventDefault();
});

关于javascript - 带有消息框确认的 Electron 应用程序关闭对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69233432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com