Node.js 事件循环(Event Loop)介绍

 2016年04月13日    1902

JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”。Node.js在JavaScript的基础上实现,同样是单线程运行的语言。在单线程中要解决高并发的问题,就要采用非阻塞、异步编程的方式。简单的说,就是在非常耗时的I/O操作中,采用非阻塞的方式继续执行后续的代码,并且进入事件循环(Event Loop)。当I/O操作完成,程序会通过回调函数的方式通知原操作。

阅读全文

Node.js 复制文件/文件夹的实现

 2016年03月24日    14505

在Node.js中,操作文件和目录使用fs模块,但在这个模块并没有直接提供文件或目录复制的方法。要实现文件和目录的复制,我们可以借助fs中的一些方法实现。

阅读全文

Node.js内存溢出-process out of memory 问题的处理

 2016年03月05日    13092

Node.js做密集型运算,或者所操作的数组、对象本身较大时,容易出现内存溢出的问题,这是由于Node.js的运行环境-V8引擎导致的。如果经常有较大数据量运算等操作,需要对Node.js运行环境限制有充分的了解。

阅读全文

Node.js&Express.js HTTP应用超时设置

 2016年02月28日    8580

Node.js创建的HTTP服务器,其对于每个客户端请求的默认连接时长是2分钟(120秒)。如果在这个时间内,服务器没有发送响应信息(response),客户端的连接就会被重置。时间过长的请求响应会造成极差的用户体验,而且会造成IO的阻塞,对于单线程运行的Node.js应用来说,这种影响简直是灾难性的。合理的设置应用的超时时间非常重要。

阅读全文

Node.js中的Errors错误对象-JavaScript 错误与系统错误

 2015年12月17日    1416

Errors错误对象会在Node.js程序发生异常时产生,Node.js中有两类错误对象:JavaScript 错误系统错误,但所有的错误都继承自JavaScriptError类。由于语法错误语言运行时引起的错误,会抛出JavaScript 错误,由于系统限制的操作引起的错误,会产生系统错误,Node.js将系统错误为一个增强的Error对象。

阅读全文