我想您使用的asyncjs模块是在以下位置记录的模块:https :
//github.com/fjakobs/async.js
在您的代码中:
- list()是一个生成器。它允许数组由asyncjs进行迭代。该数组是值的数组。
- call()是一个 调用 每个项目的映射器。因此,这些项必须是可调用的(即,它们必须是回调)。
- end()是终止终点,当迭代结束时调用。作为参数,您只能获取序列的最后一个值(而不是整个序列)。
您收到“ [TypeError:Object true没有方法’apply’] ”错误,因为您建立的列表不是回调列表。它是值列表。
这是一些应该执行您想要的代码:
var redis = require("redis");var client = redis.createClient();var async = require("asyncjs");function main() { var siteId = 1; async .list(['x','y','z']) .map( function (item,next) { client.hincrby('traffic:' + siteId, item, 1, function (err,res) { next(err,res) }) }) .toArray( function(err,res) { console.log(err); console.log(res); });}main()
请注意,这里我们使用map()代替call(),并使用toArray()代替end()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)