我試圖以編程方式從Node.js中的Redis數據庫檢索值,使用'for'循環遍歷GET請求。我正在使用'redis'節點模塊。我可以使用console.log將這些請求的值打印到服務器,但是,我無法將這些值中的每一個都推送到全局數組中,以便在另一個node.js模塊中使用。我想知道這是否是由於Redis腳本的'全局變量保護'方面。我也想知道這裏是否有解決方法。如何使用Node.js和Redis爲for循環指定全局變量?
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
的node.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);
我想爲瓦爾斯陣列輸出與,b和c相關聯的值或... 1 ,2和3。同樣,意圖是在另一個節點模塊中使用這些值。
這是一個與全局變量保護相關的問題嗎?任何明顯的選擇?肯定覺得我失去了一些明顯的東西。
這很有道理。因此,如果我在同一個節點服務器中使用vals數組和該'later'節點模塊,那麼它應該全部正確地存儲在該數組變量中? – Peakbagger
@Peakbagger:是的。 – 2013-07-03 19:42:53