对Node.js的异步机制的思考

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对Node.js的异步机制的思考相关的知识,希望对你有一定的参考价值。

Node.js的异步机制是其最大的特色,异步可以应对高并发,具有很好的性能。

但是如果在某个方法里,涉及到数据库的多层查询,异步机制反而成为阻碍。当执行完第一层SQL后,根据所得的结果集(rows)进行结果集进行遍历时,每次遍历的结果作为where条件再执行下一层SQL时,下一层及以后的SQL并不会执行,而是在结果集(rows)遍历到最后时,才执行下一层SQL。

这时,若SQL只有两三层,其实倒还好,可以合并SQL;但是SQL层数多了之后,这种异步机制却是最大的阻碍。
这时,就需要用到Node.js的同步模块(async)。具体如何进行操作,Node.js的官方API有详细说明。我在这就不一一叙述了。


以上是关于对Node.js的异步机制的思考的主要内容,如果未能解决你的问题,请参考以下文章

Node.Js执行原理图引发的思考

关于node.js内部异步I/O机制的困惑

Node.js的心脏-epoll

深入理解 python3.4 中 Asyncio 库与 Node.js 的异步 IO 机制

node js异步IO机制

《node.js实战》第一章读后感