我試圖從我的redis數據庫中獲取所有hget值。但是陣列日誌保持空白。請你們看看它嗎?由於Array.push,陣列保持爲空
getAllHMSets = (cb) ->
client.keys "log:*", (err, logKeys) ->
if not err and logKeys isnt null
logs = new Array()
i = 0
while i < logKeys.length
client.hgetall logKeys[i], (err, log) ->
if not err and log isnt null
logs.push log
i++
if logs.length is logKeys.length
cb logs if typeof cb is "function"
難道hgetall是異步執行的(這可以解釋使用回調的)? – Thilo 2013-03-17 23:30:57
謝謝,蒂洛。 HGETALL是異步的,我現在使用redis.multi()來解決這個問題;) – krnflake 2013-03-17 23:59:11