「for」ループを使用して GET 要求を反復処理する Node.js の Redis データベースからプログラムで値を取得しようとしています。「redis」ノード モジュールを使用しています。console.log を使用してこれらのリクエストの値をサーバーに出力することはできますが、これらの各値を別の node.js モジュールで使用するためにグローバル配列にプッシュすることはできません。これは、Redis スクリプトの「グローバル変数保護」の側面によるものかどうか疑問に思っています。また、ここで回避策があるかどうかも知りたいです。
redis-cli:
redis 127.0.0.1:6379> SET a "1"
OK
redis 127.0.0.1:6379> SET b "2"
OK
redis 127.0.0.1:6379> SET c "3"
OK
ノード.js:
var keys = ['a', 'b', 'c'];
var vals = [];
for(i=0; i<3; i++) {
client.get(keys[i], function(err, reply) {
console.log(reply);
vals.push(reply);
});
}
console.log(vals);
vals 配列が a、b、および c... または 1、2、および 3 に関連付けられた値をそれぞれ出力するようにしたいと考えています。繰り返しますが、目的はこれらの値を別のノード モジュールで使用することです。
これはグローバル変数の保護に関連する問題ですか? 明らかな代替手段はありますか?明らかな何かが欠けているように感じます。