【问题标题】:Node.js and Synchronous API functionsNode.js 和同步 API 函数
【发布时间】: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])。前者是异步的,后者是同步的。

【问题讨论】:

  • 在大多数情况下是的,至少对于标准库中的函数。但如果您不确定,最好查阅特定功能的文档。

标签: javascript node.js api asynchronous callback


【解决方案1】:

如果函数名中包含单词是否准确 “同步”,所以这个函数是同步函数?

是的,这很准确。

在 node.js API 中,您可以通过以下方式判断某些内容是同步的还是异步的:

  1. 如果它以“Sync”后缀结尾,则它是同步的。
  2. 如果是任何类型的 I/O 操作并且它接受回调并且没有“同步”,那么它是异步的。
  3. 如果提供了两个选项并且一个以“同步”后缀结尾,那么另一个是异步的。
  4. 如果它不接受回调或返回承诺或使用 eventEmitter(或类似的东西)来提供事件通知,那么它就不是异步的,因为它在完成后将无法与您通信。
  5. 您查阅特定函数的文档并查找对异步的引用。

【讨论】:

  • @CrazySynthax - 这回答了你的问题吗?
【解决方案2】:

是的,在 NodeJS 的 API 中,包含“Sync”的函数通常是异步函数的同步版本。

编辑:请参阅 StackOverflow 用户 jfriend00's answer,因为他们详细介绍了如何在 NodeJS 的 API 中判断函数是同步还是异步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2020-08-01
    相关资源
    最近更新 更多