检查文件是否同步存在是什么意思?

我想了解Node.js.中的fs.statSync命令。 我在这个问题上读取同步检查Node.js中是否存在文件/目录 ,它将检查文件是否同步存在。 我不明白这是什么意思,检查它是否同步存在和检查是否存在asynchronous之间的区别。

同步和asynchronous的主要区别在于asynchronous不会等待。 您必须学习如何以全新的方式编写代码,以确保事情按照正确的顺序进行。

值得学习如何做到这一点,但起初可能是一个小小的弯曲。

fs.readFileSync(file); // Stops and waits for completion. console.log("This will always print after fs.readFileSync."); fs.readFile(file, function callback(err, data) { // Doesn't stop but will run the callback when it HAS read the file. if (err) throw err; // File doesn't exist. console.log(data); }); console.log("This will print before fs.readFile finishes, probably, it might not, but it might, you never quite know."); 

同步意味着你的代码等待,直到得到结果。 除非从fs.statSync()获得结果,否则在线程中不会发生任何其他事情。 没有其他的代码运行。 你基本上locking了程序。

asynchronous意味着函数立即返回,您的代码可以继续运行,但您不知道结果是什么。 相反,结果会在稍后触发的callback函数中提供给您。

同步意味着您的线程将在等待文件系统时阻塞,以查明文件是否存在。

如果您asynchronous执行此操作,则仍然会询问文件系统,但是文件系统可以在后台执行此操作,从而允许您的线程继续运行。 一旦文件系统知道文件是否存在,它可能会调用代码中的callback函数来通知你,或者以其他方式通知你,而不会阻塞你的执行线程。

这意味着当前“线程”的执行将在操作期间冻结。