JavaScript节点开放库
我正在尝试在默认的Windows照片查看器中同时打开多个图像,该查看器已使用npm open library存储在我的文件夹中:JavaScript节点开放库,javascript,node.js,file,npm,Javascript,Node.js,File,Npm,我正在尝试在默认的Windows照片查看器中同时打开多个图像,该查看器已使用npm open library存储在我的文件夹中: let files = ['Dog.gif', 'Cat.jpeg']; for(let i=0; i<files.length; i++){ open(`${files[i]}`, {wait:true}); } let files=['Dog.gif','Cat.jpeg']; 对于(设i=0;i在本例中,发生这种情况是因为文件名或文件类型不存在或与源
let files = ['Dog.gif', 'Cat.jpeg'];
for(let i=0; i<files.length; i++){
open(`${files[i]}`, {wait:true});
}
let files=['Dog.gif','Cat.jpeg'];
对于(设i=0;i在本例中,发生这种情况是因为文件名或文件类型不存在或与源文件不匹配{wait:true}
应该导致open()
等待退出打开文件的应用程序,然后再继续执行。因此,如果希望所有应用程序同时打开,请删除{wait:true}
选项
事实上,如果您确实想让它等到应用程序退出后再打开第二个文件并使其仅打开一个文件,请继续阅读至少一些最基本的调试帮助
假设您使用的是最新版本的open
,它是一个基于承诺的API。它似乎很难发现错误。但是,您至少可以确认您收到了如下错误:
const open = require('open');
let files = ['dog.txt', 'cat.txt'];
(async () => {
for(let i=0; i<files.length; i++){
const cp = await open(`${files[i]}`, {wait: true});
console.log(`${files[i]} exit code: ${cp.exitCode}`);
}
})();
const open=require('open');
让文件=['dog.txt','cat.txt'];
(异步()=>{
for(让i=0;我从未做过类似的事情,但是wait:true
参数会导致问题吗?否,我尝试删除它,但没有幸运地将其设置为false否,在删除{wait:true}之后,这一切都不起作用选项并运行此代码时,我得到两个图像的退出代码:null,但第一个图像仍然打开?您不能在第二个建议中删除wait
,并期望得到一个exitCode
,因为open()
在返回之前不会等待进程退出。请执行其中一项操作,而不是同时执行这两项操作。好的,我只是想同时打开这两个映像文件,我使用了async并使用{wait:true}等待,它似乎正在工作。