node redis get()同步帮助我

时间:2014-02-11 05:53:48

标签: node.js get redis synchronous

, notEnterUsers: function(){
      var users;
      this.store.get("users",function(err,result){    
        var result = JSON.parse(result);
         users = result.filter(function(element, index, arr){
          return (element.status === 0);
        });
      });

      console.log(users);
      return users;
    }

如何解决此问题user = undefinded

规则1 ....

必须是返回用户对象

1 个答案:

答案 0 :(得分:0)

使用Node.js,您应该使用延续传递样式(CPS)。此示例无法工作,因为当" console.log(用户)"时,尚未执行作为get参数提供的回调。被执行。

函数notEnterUsers应该有一个回调参数,并在填充了users变量后调用它。类似的东西:

, notEnterUsers: function(callback){
      var users;
      this.store.get("users",function(err,result){    
        var result = JSON.parse(result);
        users = result.filter(function(element, index, arr){
          return (element.status === 0);
        });
        callback(users);
      });
    }

Node.js基本上是异步的,你的脚本应该尝试使用它而不是试图模仿同步行为。