电子:dialog.showOpenDialog不返回承诺?

问题描述 投票:1回答:1

我想从渲染的脚本中显示一个打开对话框。

我从不同的来源获得冲突的信息,但据我所知,https://electronjs.org/docs/api/dialog的文档建议我应该可以使用:

const dialog = require('electron').remote.dialog;
dialog.showOpenDialog({ title: '…', defaultPath: '…' })
.then(data=>console.log(data));

我收到的错误消息是:

TypeError: dialog.showOpenDialog(...).then is not a function

这表明dialog.showOpenDialog()并未根据文档返回承诺。该文档中的示例也不适合我。

我知道我可以使用dialog.showOpenDialog(options,callback),并且已经成功使用了,但是为什么我不能使用.then()

我还注意到,如果我包含可选的BrowserWindow参数,它将挂起,因此问题可能更广泛。

electron es6-promise renderer opendialog
1个回答
0
投票

我认为您阅读的文档版本错误。在版本6之前,dialog.showOpenDialog()返回String[]而不是Promise<Object>

这里是文档:

希望我的回答可以帮助您

© www.soinside.com 2019 - 2024. All rights reserved.