摘要:本文从异步风格讲起,分析Javascript中异步变成的技巧、问题和解决方案。具体的,从回调造成的问题说起,并谈到了利用事件、Promise、Generator等技术来解决这些问题。异步之殇NON-BLOCKING无限好?异步,是没有线程模型的Javascript的救命稻草。说得高大上一些,就是运用...
阅读全文
摘要:Promise是异步代码实现控制流的一种方式。这一方式可以让你的代码干净、可读并且健壮。比如,你用来异步处理文件事件的回调代码:fs.readFile('directory/file-to-read', function(err, file){ if (error){ //han...
阅读全文
摘要:Node的“event loop”主要是用来处理高输出量的。这很神奇,这也是为什么node可以在单线程的情况下同时处理很多的后台操作。本文就会集中讲述event loop是怎么运行的,这样你可以可以使用这个神奇的东西完成你自己的工作。事件驱动的编程(event-driven programming)...
阅读全文
摘要:当我向人们介绍Node.js的时候,一般会有两种反应:多数立刻表示“哦,这样啊”,另外的则会感到困惑。如果你是第二种的话,我会试着这样解释node:这是一个命令行工具。你可以下载一个tar包,然后编译安装。在terminal中输入“node my_app.js”就可以运行起来你的javascript...
阅读全文
摘要:在Nodejs中使用集群还是不容易的。Javascript的单线程属性让nodejs下的应用很难使用现代机器的多核特性。比如下面的代码实现了一个http服务器的主干部分。这部分代码只会执行在一个线程上,不管这段代码运行的机器是单核的cpu还是1000个内核的cpu。var http = requir...
阅读全文
摘要:使用Nodejs+MySQL肯定比PHP和MySQL的组合更适合做服务器端的开发。使用Nodejs你会从他的异步行为中获益良多。比如,提升性能,你无须在从已有的MySQL数据库迁移到其他的NoSQL数据库获得性能的提升。Nodejs如何使用MySQLNodejs要连接MySQL,可以使用Nodejs...
阅读全文