您的位置:首页 > Web前端 > Node.js

nodejs开发

2014-05-12 00:11 246 查看
#如何提高nodejs程序的稳定性,健壮性

保持良好的代码结构:

我们知道node是单线程,非阻塞io,默认就是异步,通过回调的方式处理后面的流程,如果嵌套的层次太多了,
势必会引起代码逻辑结构的混乱,也不利于维护和升级,可以采用async这个异步流程控制模块,来理清我们的代码逻辑。

使用 process.on('uncaughtException', function(err){...}); 来处理未被捕捉的错误。

使用try~catch 来捕获异常:

这个只能解决一部分问题,不是万能的,在上面说到因为node是单线程,非阻塞io,默认就是异步,
通过回调的方式处理后面的流程,try~catch 是不能捕获的callback 里面的error的错误的,怎么捕获到callback里面的错误呢 ? 可以采用domain模块

使用domain模块来处理程序的异常

先看看对domain的解释:domain是 EventEmitter类的一个子类。监听它的error事件来处理它捕捉到的错误。
它提供了一种方式,即以一个单一的组的形式来处理多个不同的IO操作。如果任何一个注册到domain的事件触发器或回调触发
了一个‘error’事件,或者抛出一个错误,那么domain对象将会被通知到。而不是直接让这个错误的上下文
从`process.on('uncaughtException')'处理程序中丢失掉,也不会致使程序因为这个错误伴随着错误码立即退出。

#加快
npm install
速度

npm config set strict-ssl false
npm config set registry "http://r.cnpmjs.org/"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: