json - Node.js:JSON.parse 会阻止事件循环吗?

标签 json node.js

使用 JSON.parse 是将 JSON 字符串解析为 JavaScript 对象的最常用方法。

它是一个同步代码,但它是否真的阻塞了事件循环(因为它比用户的代码低得多)?

有没有一种简单的方法来异步解析 JSON?对于几 KB - 几百 KB 的 JSON 数据来说,这是否重要?

最佳答案

在返回值之前不接受回调或返回 Promise 的函数。

所以是的,它 JSON.parse block 。解析 JSON 是一项 CPU 密集型任务,而 JS 是单线程的。所以解析必须在某个时候阻塞主线程。异步仅在等待另一个进程或系统时才有意义(这就是为什么磁盘 I/O 和网络具有良好的异步意义,因为它们比原始 CPU 处理具有更多的延迟)。

在开始优化解析之前,我首先要证明解析 JSON 实际上是您的应用程序的瓶颈。我怀疑不是。

关于json - Node.js:JSON.parse 会阻止事件循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18842606/

相关文章:

c# - Json.Net 结合序列化的 2 个属性

java - 如何将@RequestBody 值传递给转发 Controller Spring MVC

sql - 读取嵌套 JSON 返回 NULL

json - Elasticsearch上的映射格式

node.js - 您无权查看 Azure Ionic App 的此目录或页面

node.js - 如何链接 Promise? ——需要澄清

javascript - 在 Azure Web 应用程序中对本地文件执行 GET 时获取 "404 not found"

java - 使用 Sitebricks 发送一致的 JSON 响应来报告异常

node.js - 使用 Firebase 身份验证验证 ID token

javascript - 将 JSON 对象连接到数组中