Próbuję uzyskać kilka wartości z Redis, połączyć je i ostatecznie wysłać. Ale po prostu nie mogę spełnić tych obietnic.nodejs redis Q obiecuje, jak to działa?
To proste get
funkcje z Redis
client.get('user:1:id',function(err,data){
// here I have data which contains user ID
});
client.get('user:1:username',function(err,data){
// here I have data which contains username
});
Teraz chcę dostać ID
i username
i wysłać je, ale nie mam pojęcia jak zrobić tę pracę. Udaje mi się, że praca z wywołań zwrotnych, ale jest to wynik bardzo brudny, więc Potem próbował owinąć funkcji anonimowych w Q.fcall
i po wywołaniu .then
który wygląda coś takiego
client.get('user:1:id',Q.fcall(function(err,data){
return data;
}).then(function(val) {
// do something
}));
ale to daje mi błąd o zbyt wielu argumentów został przyjęty i nie jestem nawet pewien, czy to mi pomoże, nawet gdyby to zadziałało.
, który wydaje się być miłe podejście i działa dobrze, chociaż ja wciąż brakuje część jak mogę połączyć identyfikator i nazwę użytkownika w jednym obiekcie na wysyłanie do przeglądarki bez zbytniego bałaganu. Czy mógłbyś podzielić się tutaj pewną wiedzą? – Giedrius
Co powiesz na to? –
Dziękuję bardzo, teraz te obietnice zaczynają mieć dla mnie większy sens. – Giedrius