저는 redis를 파고 들어 왔고 redis를 데이터 저장소로 사용하는 작은 웹 응용 프로그램에서 작업하고 있습니다 (나는 그것이 redis의 의도 된 목적이 아니라는 것을 알고 있지만 명령을 학습하고 단지 전체 내가 Node_Redis을 사용하고 노드에 레디 스 작업 여기 Node_Redis Promise.all을 사용할 때 부울 배열로 HGET 해결
내가 (모든 레디 스에서) 수행 할 작업은 다음과 같습니다... 내가 그들의 이메일을 사용하여 사용자를 검색하려고 오전 을
여기에 문제가 있습니다 : 나는 Promise.all 호출을받습니다. 모든 전자 메일 (키) 및 매핑하여 HGET 명령으로 이동합니다. Promise.all이 해결되면 사용자 객체 배열로 해결할 것으로 예상되지만 결국 부울 배열 (즉, [true, true, true])로 끝납니다. 여기
은 실제로 배의 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"]);
}
});
});
의 논리, 그리고 내가 레디 스의 응답을 로그인 할 때, 너무 정확한 개체를 보여줍니다, 그래서 꽤 있어요 이 시점에서 혼란스러워. Promise.all을 사용하여 사용자 개체의 배열을 해결할 수 있습니까?