Bruno_
#javascript #typescript #programowanie #angular

console.log(votes);
console.log(votes.length);
console.log(votes.pop());

output: https://cdn.discordapp.com/attachments/496403844927062017/537783295644008469/unknown.png

co robię źle? nie jestem frontendowcem więc pewnie ktoś kto w tym siedzi na codzień się za głowę złapie, ale tutaj kod xD
https://pastebin.com/Hcx8aKHw
4
  • Najlepsze
  • Wszystkie komentarze
T.....k
T.....k
@Tojtek: A jeśli potrzebujesz zmodyfikować te dane między otrzymaniem ich z serwera a trafieniem ich do subskrybentów, możesz użyć pipe'ów, przez które dane ze źródła (w tym przypadku żądanie HTTP) przepływają i mogą ulegać przekształceniom.
2
T.....k
T.....k
@Bruno_: Metody HttpClienta zwracają obserwowalne obiekty, które w usłudze powinieneś zwrócić takie jakie są, bez blokowania wątku awaitem. W komponencie wywołujesz metodę, a do tego co zwróci (obserwowalne źródło danych) podpinasz się metodą subscribe. Oficjalne docsy Angulara opisują i taki przypadek, gdy chcesz wydzielić żądania HTTP do usługi i potem tego użyć.
1
Bruno_
@Bruno_: tutaj coś podobnego (obiekt pokazuje się jako pusty ale można wyciągnąc wartość i tak)
app.component.ts : https://codesandbox.io/s/r4z16jy36o
0
Battis
@Bruno_: Jeśli koniecznie chcesz przejść na async/await to wywołaj .toPromise() na http.get().
Wtedy możesz zrobić

let response: number = await http.get(...).toPromise(); resp.push(response); return resp;

I ogólnie to theny w 12. i 27 linijce są zbędne ;)
0
Bruno_
@Battis: @Tojtek: teraz działa xD https://pastebin.com/8eK2CPP4

@Tojtek: poczytam na spokojnie, potem moze refactor zrobie, ale i tak w sumie już konczę ten projekt a następny w vue
0
T.....k
T.....k
@Bruno_ : Ogólnie reaktywne podejście do przepływu danych w aplikacji jest fajne i nie jest ograniczone do Angulara. :D
0
veranoo
veranoo
@Tojtek: jakiego wątku? await to taka nadbudowka zwykłych promisow, oparta na generatorach, tam nie żadnej magii i blokowania wątków, kto wam takich głupot naopowiadal?
0
T.....k
T.....k
@veranoo: Poleciałem skrótem myślowym, mea culpa. ;)
0
veranoo
veranoo
@Tojtek: spoko, powielanie takich informacji jest bardzo szkodliwe
0