gpt4 book ai didi

node.js - node.js 中的 try-catch-finally block 是否同步?

转载 作者:IT老高 更新时间:2023-10-28 23:15:17 26 4
gpt4 key购买 nike

我有一些代码在一个 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 程序调用的,它需要等到这个文件中的所有操作都完成。不幸的是,在执行 finally block 下的任何代码之前,子进程以代码 0 退出。

这让我相信即使 try-catch-finally 也是异步的。对吗?

最佳答案

您的问题措辞令人困惑。

整个Javascript语言是完全同步的;所有语言结构,包括 catchfinally block ,将在运行下一行代码之前同步执行。

但是,它们不知道任何可能已经开始的异步操作,并且不会等待它们完成。

关于node.js - node.js 中的 try-catch-finally block 是否同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com