栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

异步执行Redis命令

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异步执行Redis命令

我想您使用的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()。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号