Promisify `execFile`在打开dmg文件时未解析



这是我遇到的一个非常奇怪的错误。基本上,我有这个execFile:

export const execFile = util.promisify(childProcess.execFile);

当我使用它打开当前装载的dmg文件时,它会打开应用程序,但不会调用.then()部分。

我也在节点控制台中测试了这一点,它是一样的:

以下是我在节点控制台中运行的片段:

async function openAnyDesk() {
console.log("hi");
const { stdout } = await execFile(
"/Volumes/AnyDesk/AnyDesk.app/Contents/MacOS/AnyDesk"
);
console.log("wtf?");
console.log("stdout", stdout);
}
> openAnyDesk()
hi
Promise {
<pending>,
[Symbol(async_id_symbol)]: 644,
[Symbol(trigger_async_id_symbol)]: 5,
[Symbol(destroyed)]: { destroyed: false }
}
>

目前陷入困境。有什么想法吗?

实际上,当承诺真正得到解决时,我似乎误解了。只有当应用程序退出时,它才会得到解决,而不是在打开时。

发现这颗宝石:https://github.com/nodejs/node/issues/34234

最新更新