gpt4 book ai didi

javascript - Node js中的异步函数不会调用执行后应该被调用的函数

转载 作者:行者123 更新时间:2023-12-03 12:41:03 25 4
gpt4 key购买 nike

我正在一个需要使用 Electron js的项目(我是javascript新手)。当我尝试使用electron.remote.dialog.showOpenDialog函数时,它不会调用应该在异步函数执行后执行的函数(console.log)。同步方法成功,但异步方法失败。如果有人可以帮助,请帮助我。
这是代码。

异​​步方法(不成功)

const { dialog } = require("electron").remote;

dirButton = document.getElementById('select-file')

function getDir(e) {
dialog.showOpenDialog(
{ properties: ["openDirectory", "openFile"] },
console.log
);
}
dirButton.addEventListener("click", getDir);


同步方法(成功)
const { dialog } = require("electron").remote;

dirButton = document.getElementById('select-file')

function getDir(e) {
dirr = dialog.showOpenDialogSync(
{ properties: ["openDirectory", "openFile"] },
);
console.log(dirr)
}
dirButton.addEventListener("click", getDir);

最佳答案

您需要在Async调用中执行类似的操作,因为它会返回Promise。

function getDir(e) {
dialog.showOpenDialog({ properties: ["openDirectory", "openFile"] }).
then(result => {
console.log(result)
}).catch(err => {
console.log(err)
})
}

关于javascript - Node js中的异步函数不会调用执行后应该被调用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60811181/

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