2016-04-04 13 views
1

Ich versuche, eine Callback-Funktion mit dem opn-Paket zu erhalten (hier ist die Dokumentation: https://github.com/sindresorhus/opn).Node.js npm opn - Callback-Funktion kann nicht funktionieren

Kurz gesagt, ich möchte eine bestimmte URL über einen Browser öffnen, warten, bis der Benutzer den Browser schließt, und dann die Callback-Funktion ausführen. Wenn ich meinen Code ausführe, scheint alles wie erwartet zu funktionieren, es scheint jedoch nicht den Callback auszuführen (ich sehe in der Konsole nie "gearbeitet").

Hier einige Beispiel-Code von dem, was ich versuche zu tun: (als Notiz

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

Es zu warten scheint, ich bin mit dieser auf Windows benötigt das Modul eine App explizit angegeben werden, damit es warten kann).

Ich möchte Code über den Rückruf ausführen, nachdem der Browser geschlossen ist.

Ich bin ziemlich neu zu Knoten, so dass jeder Einblick sehr geschätzt wird!

Antwort

1

Das Modul scheint nicht ein up-to-date haben Dokumentation

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); 
}); 

Die oben genannten Arbeiten, ein thenable Versprechen Muster verwenden statt einen Rückruf.

Sie sollten dies im github-Repository melden.


UPDATE: eine ES6 Version:

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

funktioniert super! Vielen Dank! Ich werde es auf dem GitHub-Repository melden. –

Verwandte Themen