Node.js 和同步 API 函数
Posted
技术标签:
【中文标题】Node.js 和同步 API 函数【英文标题】:Node.js and Synchronous API functions 【发布时间】:2016-09-07 04:41:34 【问题描述】:Node.js 通常鼓励使用异步 API 函数和回调。如果函数名称中包含“Sync”这个词,那么这个函数是同步函数,是否准确?
例如,在这个链接中:https://nodejs.org/api/fs.html, 您可以看到 fs.writeFile(file, data[, options], callback) 和 fs.writeFileSync(file, data[, options])。前者是异步的,后者是同步的。
【问题讨论】:
在大多数情况下是的,至少对于标准库中的函数。但如果您不确定,最好查阅特定功能的文档。 【参考方案1】:如果函数名中包含单词是否准确 “同步”,所以这个函数是同步函数?
是的,这很准确。
在 node.js API 中,您可以通过以下方式判断某些内容是同步的还是异步的:
-
如果它以“Sync”后缀结尾,则它是同步的。
如果是任何类型的 I/O 操作并且它接受回调并且没有“同步”,那么它是异步的。
如果提供了两个选项并且一个以“同步”后缀结尾,那么另一个是异步的。
如果它不接受回调或返回承诺或使用 eventEmitter(或类似的东西)来提供事件通知,那么它就不是异步的,因为它在完成后将无法与您通信。
您查阅特定函数的文档并查找对异步的引用。
【讨论】:
@CrazySynthax - 这回答了你的问题吗?【参考方案2】:是的,在 NodeJS 的 API 中,包含“Sync”的函数通常是异步函数的同步版本。
编辑:请参阅 *** 用户 jfriend00's answer,因为他们详细介绍了如何在 NodeJS 的 API 中判断函数是同步还是异步。
【讨论】:
以上是关于Node.js 和同步 API 函数的主要内容,如果未能解决你的问题,请参考以下文章