Node.js中异步IO和事件循环是如何协同工作的?

2026-04-09 15:221阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3494个文字,预计阅读时间需要14分钟。

Node.js中异步IO和事件循环是如何协同工作的?

前言:学习Node.js便绕不开异步IO,异步IO又与事件循环息息相关,而关于这一块,我直至今日还没有细去理解。最近在做项目的时候,有一些思考就记录下来,希望尽可能将这一块理解透彻。

前言

学习Node就绕不开异步IO, 异步IO又与事件循环息息相关, 而关于这一块一直没有仔细去了解整理过, 刚好最近在做项目的时候, 有了一些思考就记录了下来, 希望能尽量将这一块的知识整理清楚, 如有错误, 请指点轻喷~~

一些概念

同步异步 & 阻塞非阻塞

查阅资料的时候, 发现很多人都对 异步和非阻塞 的概念有点混淆, 其实两者是完全不同的, 同步异步指的是 行为即两者之间的关系 , 而阻塞非阻塞指的是 状态即某一方

以前端请求为一个例子,下面的代码很多人都应该写过

$.ajax(url).succedd(() => { ...... // to do something })

同步异步

如果是同步的话, 那么应该是client发起请求后, 一直等到serve处理请求完成后才返回继续执行后续的逻辑, 这样 client和serve之间就保持了同步的状态

如果是异步的话, 那么应该是client发起请求后, 立即返回 , 而请求可能还没有到达server端或者请求正在处理, 当然在异步情况下, client端通常会注册事件来处理请求完成后的情况, 如上面的succeed函数。

阅读全文

本文共计3494个文字,预计阅读时间需要14分钟。

Node.js中异步IO和事件循环是如何协同工作的?

前言:学习Node.js便绕不开异步IO,异步IO又与事件循环息息相关,而关于这一块,我直至今日还没有细去理解。最近在做项目的时候,有一些思考就记录下来,希望尽可能将这一块理解透彻。

前言

学习Node就绕不开异步IO, 异步IO又与事件循环息息相关, 而关于这一块一直没有仔细去了解整理过, 刚好最近在做项目的时候, 有了一些思考就记录了下来, 希望能尽量将这一块的知识整理清楚, 如有错误, 请指点轻喷~~

一些概念

同步异步 & 阻塞非阻塞

查阅资料的时候, 发现很多人都对 异步和非阻塞 的概念有点混淆, 其实两者是完全不同的, 同步异步指的是 行为即两者之间的关系 , 而阻塞非阻塞指的是 状态即某一方

以前端请求为一个例子,下面的代码很多人都应该写过

$.ajax(url).succedd(() => { ...... // to do something })

同步异步

如果是同步的话, 那么应该是client发起请求后, 一直等到serve处理请求完成后才返回继续执行后续的逻辑, 这样 client和serve之间就保持了同步的状态

如果是异步的话, 那么应该是client发起请求后, 立即返回 , 而请求可能还没有到达server端或者请求正在处理, 当然在异步情况下, client端通常会注册事件来处理请求完成后的情况, 如上面的succeed函数。

阅读全文