如何使node-redis方法在NodeJS中以最高优先级执行?

How to make node-redis method execute with top priority in NodeJS?

代码如下:

var redis = require('redis');
var client = redis.createClient();
var addresses = new Array();

client.lrange('some_list', 0, -1, function(err, res) {
  console.log(res); #inner

  res.forEach(function(element) {
    if (result = element.match(/^(.+),(.*)$/)) {
      addresses.push(result[1]);
    }
  });
});

console.log(addresses); #outter

结果

[] #outter
['item1', 'item2', 'item3'] #inner

事实证明,外部控制台日志先执行,然后 return 空数组。 我想从 node-redis lrange 方法获取数组结果。

如果您想查看 addresses 的内容,那么您可以尝试这样的操作:

const redis = require('redis');
const client = redis.createClient();
let addresses = new Array();
client.lrange('some_list', 0, -1, (err, res) => {
  console.log(res);
  res.forEach((element) => {
    if (result = element.match(/^(.+),(.*)$/)) {
      addresses.push(result[1]);
    }
  });
  console.log(addresses);
});