node.js async类库的使用

本文介绍了如何使用async库解决Node.js中Redis操作带来的异步问题,通过async.series方法实现查询与渲染页面的有序执行。同时,文章提及了替代方案step类库,并提供了具体代码示例。

最近玩儿node.js很上瘾。在用redis的时候遇到了一个问题。

node中所有的操作都是异步的,这就带来了一些个问题:我要等所有的查询都执行完以后才能够render页面。我问了csser的同学。他给我推荐了async类库,我研究了一下,完全可以解决现在的问题。

----------------

安装:npm install async

类库的主页: https://github.com/caolan/async#queue 上面有大量的例程。

 

目前我用了一个同步,贴上来大家一览

   async.series([

  function(callback){

      client.get("string key",function(err,reply){

      pig = reply;

      console.log("change pig to " + reply);

      console.log("now pig is " + pig);

      client.quit();

      callback(null,1);

  });

  

  },

  function(callback){

   console.log("beginRender: " + pig);

   res.render('index', { title:pig });

   callback(null,2);

  }

  ]);

一------------

这个的语法上相对繁琐,有一个step类库貌似也不错。

 async.series([
  function(callback){
      client.get("string key",function(err,reply){
      pig = reply;
      console.log("change pig to " + reply);
      console.log("now pig is " + pig);
      client.quit();
      callback(null,1);
  });
  
  },
  function(callback){
   console.log("beginRender: " + pig);
   res.render('index', { title:pig });
   callback(null,2);
  }

转载于:https://www.cnblogs.com/tingzi/archive/2012/06/15/2550570.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值