我正在尝试使用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上运行它,模块需要明确指定应用程序才能等待)。
我希望在浏览器关闭后通过回调运行代码。
我对节点很陌生,所以非常感谢任何见解!
答案 0 :(得分:1)
该模块似乎没有最新的文档
// myscript.js
var Model = bookshelf.Model.extend({
tableName: 'models'
});
Model.forge({name: 'hello'}).save().then(function(model) {
console.log('model has been saved', model);
}).catch(function(error) {
// it's bad practise to omit some sort of error reporting.
console.error('something went wrong!');
}).finally(function() {
// tear down connection.
return bookshelf.knex.destroy();
}).then(function () {
// This is the actual 'end' of the program.
console.log("End");
});
上述工作,使用了一个可靠的承诺模式而不是一个回调。
您应该在github存储库中报告此内容。
更新:ES6版本:
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);
});