nodejs 编程建议(代码规范)

本文列举了Node.js编程中的一些重要建议,包括避免使用"try...catch"来处理异步错误,而是利用回调函数中的err参数;避免使用this和new以确保代码在不同上下文中也能正常运行;提倡编写更小的函数块和避免添加上下文变量;强调对err参数进行错误处理,以及避免使用with和eval;推荐使用严格相等运算符===,并始终在声明变量时使用var;回调函数应将err参数作为第一个参数,回调函数本身放在最后。遵循这些规范可以提高代码质量和可维护性。
摘要由CSDN通过智能技术生成
 

1. 不要使用 "try ... catch" ,因为nodejs都是异步操作,try catch无法捕捉回调里面的异常,除非你在回调里面也写try catch

try...catch statement cannot catch the error in callback. Here is an example:
fs = require('fs');


try {
  fs.stat('doesnt_exist.txt', function(err, stats) {
    if (err) {
      throw err;
    }
    console.log('data', stats);
  });
}
catch (e) {
  console.error('error statting');
}

这里的错误不会被捕捉。

解决方案


  1. 把数据库查询或者文本读取的try catch改为处理回调函数里面的第一个参数err,因为这些操作如果出错在nodejs里面是不会跑出异常而是返回一个err对象
  2. 使用forever https://github.com/nodejitsu/forever 这样进程挂掉就会被立马再次启动起来,记得设置 spinSleepTime !否则你的程序在1s内挂两次就再也启动不起来了
  3. 官方建议使用domain对象,如果是使用express的朋友可以直接使用 express-domain-middleware,这个插件有几个好处
    a 捕获系统中所有的异常,并且可以自己定义出错的解决逻辑
    b 在所有的流程中都会增加一个requestid,可以通过这个id在日志中体现出一个请求所经过的流程,解决了异
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值