我想执行的Redis的几个异步方法,用下面的代码异步执行命令
var redis = require("redis");
var client = redis.createClient();
var async = require("asyncjs");
async.list([
client.hincrby("traffic:" + siteId, 'x', 1),
client.hincrby("traffic:" + siteId, 'y', 1),
client.hincrby("traffic:" + siteId, 'z', 1)
]).call().end(function(err, result)
{
console.log(err); // returns error [TypeError: Object true has no method 'apply']
console.log(result); // undefined
if(err) return false;
return result;
});
所有方法执行成功
,但我得到的错误[TypeError: Object true has no method 'apply']
该方法执行并返回true,并且它可能解释为true,但我不明白为什么它必须使用方法适用于它?
我可以通过向client.hincrby添加一个函数(err,result)作为最后一个元素来获得增量的结果..但是如何在最终函数中得到结果变量中的所有结果?
是否有任何东西重新定义了控制台对象? –
我不明白你的意思? –
我对'redis'一无所知,但我曾经看过示例代码,其中有人重新定义了控制台(尤其是console.log)以提供不同的功能。也许这发生在这里,你的(本地)console.log实现期望有一个'apply'方法的输入对象? –