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

来源:互联网 发布:php音乐播放器源码 编辑:程序博客网 时间:2024/06/08 16:47

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

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

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

https://github.com/caolan/async

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

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

https://github.com/bsspirit/async_demo

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

http://momentjs.com/
node连接redis插件:

https://github.com/mranney/node_redis
node连接zookeeper:

https://www.npmjs.com/package/node-zookeeper-client

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;});}


0 0
原创粉丝点击