我正在尝试使用opn
包使回调函数正常工作(这里是文档:https://github.com/sindresorhus/opn)。
简而言之,我想通过浏览器打开一个特定的URL,等待用户关闭浏览器,然后运行回调函数。当我运行我的代码时,一切似乎都按预期工作,但是,它似乎没有运行回调(我从没在控制台中看到“工作”过)。
这是我正在尝试执行的一些示例代码:var opn = require('opn')opn('http://www.google.com', {app: 'firefox', wait: true}, function(err) { if(err) throw err console.log('worked')})
它似乎确实在等待(注意,我正在Windows上运行它,该模块需要显式指定一个应用程序才能等待)。
关闭浏览器后,我想通过回调运行代码。
我是Node的新手,因此非常感谢您的见解!
最佳答案
该模块似乎没有最新文档
var opn = require('opn');
opn('http://www.google.com', {
app: 'Chrome',
wait: true
}).then(function(cp) {
console.log('child process:',cp);
console.log('worked');
}).catch(function(err) {
console.error(err);
});
上面的作品,使用了一个可行的承诺模式,而不是回调。
您应该在github仓库上报告这个。
更新:ES6版本:
import opn from 'opn';
opn('http://www.google.com', {
app: 'Chrome',
wait: true
}).then(cp => console.log('child process:', cp)).catch(console.error);