Javascript-如何从匿名函数返回数据

时间:2019-07-07 07:04:02

标签: javascript node.js redis

我使用andonisjs框架(第一次)。我创建一个视图和一个名为“ TopcountInbound”的中间件。

我的问题是从nodejs redis客户端获取结果。

我可以使用console.log()毫无问题地获取数据,但是我不能使用全局变量“ request”来获取anodisjs视图上的数据。

我认为这是一个JavaScript范围问题,但是找不到用于检索数据的“优雅”解决方案。

class TopcountInbound {
  /**
   * @param {object} ctx
   * @param {Request} ctx.request
   * @param {Function} next
   */
  async handle ({ request }, next) {

    var redis = require("redis"),
    client = redis.createClient();

    client.on("error", function (err) {
        console.log("Error " + err);
    });

    request.redisresult = 0
    var args1 = [ 'Inbound-7', 0, 10, 'WITHSCORES'];
    await client.zrevrange(args1, function (err, response) {
        if (err) throw err;        
        // for (var item in response) {
        //   console.log(response[item])
        // }        
        request.redisresult = response        
        console.log(request)
    });
    request.redisresult = response        
    client.quit()

    await next()
  }
}

我希望将数据传递给adonisjs视图。

感谢您的帮助!

0 个答案:

没有答案