時,我已經挖成的Redis和使用Redis的,因爲它是唯一的數據存儲一個微小的web應用程序的工作分解到布爾數組(我知道這不是Redis的的預期目的,但我從受益學習的命令,只是整體上節點的Redis我使用Node_Redis工作Node_Redis HGET使用Promise.all
這是我想要完成的(所有的Redis)什麼:。 我嘗試使用他們的電子郵件檢索用戶
這裏的問題: 我有一個Promise.all調用帶所有電子郵件(密鑰)和映射每個去一個HGET命令。當Promise.all解析我期望它與用戶對象的數組來解決,但它最終解析爲布爾值的陣列(即[真,真實,真])。
這裏是我實際使用Promise.all大量的時間/users
router.get("/", (req, res) => {
client.lrange("emails", 0, 1, (err, reply) => {
if (err) return console.log(err);
if (reply) {
Promise.all(
reply.map(email => {
return client.hgetall(email, (err, reply) => {
if (err) return console.log(err);
console.log("reply for hgetall", reply); // this prints a user object correct, but Promise.all still resolves to boolean array :(
return reply;
});
})
)
.then(replies => {
// replies = [true, true, true ...]
res.send(replies);
})
.catch(e => console.log(e));
} else {
res.send([reply, "reply is null"]);
}
});
});
的邏輯,當我登錄從Redis的回覆,它顯示了正確的對象太多,所以我很困惑在這一點上。我怎樣才能得到Promise.all解析爲用戶對象的數組?