У меня есть некоторый запуск кода в дочернем процессе в программе node, например:
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");
Этот код вызывается из другой программы node, которая должна ждать, пока все операции в этом файле не будут выполнены. К сожалению, дочерний процесс выходит с кодом 0 до того, как выполняется какой-либо код в блоке finally
.
Это заставляет меня думать, что даже try-catch-finally
является асинхронным. Это правильно?