2016-04-04 15 views
1

opnパッケージを使用して動作するコールバック関数を取得しようとしています(ここにはドキュメント:https://github.com/sindresorhus/opn)。要するに、ブラウザから特定のURLを開き、ユーザーがブラウザを閉じてからコールバック関数を実行するのを待っています。私のコードを実行すると、すべてが期待どおりに動作するように見えますが、コールバックを実行していないように見えます(コンソールでは「うまく動作しません」ということはありません)。ここでNode.js npm opn - コールバック関数が機能しない

は私が何をしようとしているいくつかのサンプルコードです:

var opn = require('opn') opn('http://www.google.com', {app: 'firefox', wait: true}, function(err) { if(err) throw err console.log('worked') })

私がWindows上でこれを実行している、ノートとして(待機しているように見えるん、モジュールは、アプリが必要です待機するために明示的に指定する必要があります)。

ブラウザが閉じられた後、コールバック経由でコードを実行したいと思います。

私は非常にノードに新しいので、任意の洞察力を大いに感謝しています!

答えて

1

モジュールではなく、コールバックのthenable約束パターンを使用して、上記の作品

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リポジトリで報告する必要があります。


UPDATE:ES6バージョン:

import opn from 'opn'; 
opn('http://www.google.com', { 
    app: 'Chrome', 
    wait: true 
}).then(cp => console.log('child process:', cp)).catch(console.error); 
+0

は素晴らしい作品!ありがとうございました!私はそれをGitHubリポジトリに報告します。 –

関連する問題