fs.exists 和 fs.existsSync 之间的区别

Posted

技术标签:

【中文标题】fs.exists 和 fs.existsSync 之间的区别【英文标题】:Difference between fs.exists and fs.existsSync 【发布时间】:2016-03-02 08:42:24 【问题描述】:

在处理节点的文件 I/O 时,我发现了这两个函数(fs.existsfs.existsSync)来检查系统中是否存在文件.它们之间有什么区别?

【问题讨论】:

小心,那些方法被贬值了nodejs.org/api/fs.html#fs_fs_exists_path_callback 看看:***.com/q/16336367/1531054 existsSync弃用,可以使用。仅不推荐使用 exists 【参考方案1】:

一个以同步方式工作(等到完成),另一个立即返回并返回一个具有未来值的承诺。

【讨论】:

【参考方案2】:

exists 是非阻塞的,您可以通过回调对文件进行后续处理。

existsSync 在运行时会阻止并冻结您的整个应用程序。这可能会吸引新的节点用户,因为他们可以在下一行继续他们的代码。然而,一旦你习惯了使用回调,这是一种非常低劣的做事方式。

【讨论】:

以上是关于fs.exists 和 fs.existsSync 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

fs.existsSync 在电子中使用时不是函数

TypeError:fs.​​existsSync 不是函数(Electron/ReactJS/Typescript)

fs.existsSync 不是 Angular (5) 中的函数

Browserify / Electron / AngularJS 错误:fs.existsSync 不是函数

使用 fs.existsSync ...我无法将输出设为 true ...(已编辑)

nodejs_fs模块相关练习1