mam jakiś kod runiczny w procesie dziecięcej w programie węzła tak:Czy blok try-catch-finally jest synchroniczny w pliku 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");
Kod ten jest wywoływany z innego programu węzła, który musi czekać, aż wszystkie operacje w tym pliku są wykonywane. Niestety proces potomny wychodzi z kodem 0, zanim zostanie wykonany dowolny kod pod blokiem finally
.
To prowadzi mnie do przekonania, że nawet try-catch-finally
jest asynchroniczny. Czy to jest poprawne?
To naprawdę nie ma sensu. –
Może powinienem otworzyć nowe pytanie, właśnie dodałem kilka instrukcji logowania w innym miejscu i wygląda na to, że proces potomny wychodzi, nawet go nie uruchamiając. – krb686
@MattBall proszę odnieść się do tego pytania: http://stackoverflow.com/questions/17572834/child-process-in-node-js-mysteriously-exiting-between-lines-ofsynchronous-code – krb686