有关node.js异步以及常用插件的一点了解

node.js是做什么的不再赘述。在使用的过程中有几个组件,又叫第三方插件,觉得比较好用。

node.js的异步在无堵塞优势的强大下,又留下了回调大坑,是初次接触node的程序员心里难以磨灭的伤痕。很多情况下,不得不在强大的异步氛围中寻求如何同步的方法。

几种第三方插件,我还是喜欢用async,详细的API说明:

在async函数体中,当使用callback跳到下一条函数体的时候,一定不要再使用return操作。

同时还有丰富了例子以供参考,可喜的是,还附有中文注释。

moment.js,node下或者js下对时间日期的插件,也是相当的强悍,支持各种显示以及日期运算,只有你想不到,没有它做不到:

node连接redis插件:

node连接zookeeper:

node增加log4js

参考:

https://github.com/nomiddlename/log4js-node

http://blog.fens.me/nodejs-log4js/

var log4js = require('log4js');
var express = require('express');
var app = express();

log4js.configure({
//此配置最好配置为独立json文件引入
 appenders: [
    { type: 'console' },{
      type: 'file', 
      filename: 'logs/access.log', 
      maxLogSize: 536870912,//单位 b
      backups:2
     //<code>category:'jjj'    去掉后找不到appenders   默认这两个,否则,有可能输出不到日志文件里面</code>
 }
  ],
  replaceConsole: true
});
//var logger = log4js.getLogger(name);
//logger.setLevel('INFO');

app.use(log4js.connectLogger(log4js.getLogger(), {level:'auto', format:':method :url'}));


exports.logger=function(name){
  var logger = log4js.getLogger(name);
  logger.setLevel('INFO');
  return logger;
}


在使用的过程中,我也尝试在回调函数里面返回结果,不得不采取一下方式解决:

<pre name="code" class="javascript">//result要定义在函数外,若在此函数内,那么return时候,那么可能还是undefined
        var result='';
function getInfo(){var blackList=redis.get('blackList',function(res){result=res;return;});}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章