Ich habe einige Code wie so in einem Kind Prozess in einem Knoten Programm runing:Ist der try-catch-finally-Block synchron in node.js?
try{
var data = fs.readFileSync(urlPath, {"encoding":"utf8"});
} catch (err) {
console.log("Error reading url file...");
throw err;
} finally {
console.log("File read!");
var array = data.split("\n");
console.log("Found " + array.length + " urls");
Dieser Code von einem anderen Knoten Programm aufgerufen wird, die bis alle Operationen in dieser Datei warten muss getan werden. Leider wird der untergeordnete Prozess mit Code 0 beendet, bevor der Code unter dem finally
-Block ausgeführt wird.
Dies führt mich zu der Annahme, dass auch die try-catch-finally
asynchron ist. Ist das korrekt?
sehen, dass wirklich keinen Sinn machen würde. –
Vielleicht sollte ich eine neue Frage öffnen, ich habe gerade einige Logging-Anweisungen an anderer Stelle hinzugefügt und es scheint, dass der Child-Prozess beendet wird, ohne diese sogar auszuführen. – krb686
@MattBall beziehen Sie bitte sich auf diese Frage: http://stackoverflow.com/questions/17572834/child-process-in-node-js-mysteriously-exiting-between-lines-of-synchronous-code – krb686