我使用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视图。
感谢您的帮助!