从Node.js进入人们的视野时,我们所知道的它就由这些关键字组成 事件驱动、非阻塞I/O、高效、轻量,它在官网中也是这么描述自己的。

当我们刚开始接触它时,可能会好奇:

  • 为什么在浏览器中运行的 Javascript 能与操作系统进行如此底层的交互?
  • 当我们在用它进行文件 I/O 和网络 I/O 的时候,发现方法都需要传入回调,是异步的: 那么这种异步,非阻塞的 I/O 是如何实现的?
  • 当我们习惯了用回调来处理 I/O,发现当需要顺序处理时,Callback Hell 出现了,于是有想到了同步的方法:那么在异步为主的 Node.js,有同步的方法嘛?
  • 身为一个前端,你在使用时,发现它的异步处理是基于事件的,跟前端很相似:那么它如何实现的这种事件驱动的处理方式呢?
  • 当我们慢慢写的多了,处理了大量 I/O 请求的时候,你会想:Node.js 异步非阻塞的 I/O 就不会有瓶颈出现吗?
  • 之后你还会想: Node.js 这么厉害,难道没有它不适合的事情吗?

看到这些问题,是否有点头大,别急,带着这些问题我们来慢慢看这篇文章。

阅读原文 »

2 收藏


直接登录

推荐关注