Ho qualche codice di matricola in un processo bambino in un programma di nodo in questo modo:Il blocco try-catch-finally sincrono 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");
Questo codice viene chiamato da un altro programma di nodo, che ha bisogno di attendere che tutte le operazioni in questo file sono fatto. Sfortunatamente, il processo figlio sta terminando con il codice 0 prima che venga eseguito qualsiasi codice sotto il blocco finally
.
Questo mi porta a credere che anche lo try-catch-finally
sia asincrono. È corretto?
che in realtà non avrebbe senso. –
Forse dovrei aprire una nuova domanda, ho appena aggiunto alcune dichiarazioni di registrazione altrove e sembra che il processo figlio stia uscendo senza nemmeno averle eseguite. – krb686
@MattBall fai riferimento a questa domanda: http://stackoverflow.com/questions/17572834/child-process-in-node-js-mysteriously-exiting-between-lines-of-synchronous-code – krb686