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.exists 和 fs.existsSync)来检查系统中是否存在文件.它们之间有什么区别?
【问题讨论】:
小心,那些方法被贬值了nodejs.org/api/fs.html#fs_fs_exists_path_callback 看看:***.com/q/16336367/1531054existsSync
已不弃用,可以使用。仅不推荐使用 exists
。
【参考方案1】:
一个以同步方式工作(等到完成),另一个立即返回并返回一个具有未来值的承诺。
【讨论】:
【参考方案2】:exists 是非阻塞的,您可以通过回调对文件进行后续处理。
existsSync 在运行时会阻止并冻结您的整个应用程序。这可能会吸引新的节点用户,因为他们可以在下一行继续他们的代码。然而,一旦你习惯了使用回调,这是一种非常低劣的做事方式。
【讨论】:
以上是关于fs.exists 和 fs.existsSync 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:fs.existsSync 不是函数(Electron/ReactJS/Typescript)
fs.existsSync 不是 Angular (5) 中的函数
Browserify / Electron / AngularJS 错误:fs.existsSync 不是函数