Wpis z mikrobloga

Do tej pory nieznajomość JavaScriptu nie przeszkadzała mi w pisaniu prostych skryptów, ale teraz utknąłem ( ͡° ʖ̯ ͡°)
http://pastebin.com/mCfXCN3h
W skrócie, pobiera json z waypointami, rysuje je na mapie i liczy dystans. Problemem jest ta linijka :
$('#distance').text(dist + " KM");
Wykonuje się szybciej niż pętla dodająca dystans. Pomoże ktoś?
#naukaprogramowania #javascript
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Własnie trafiłeś na podstawowy problem z asynchronicznością JavaScriptu. :-)

for(var j = 0; i < result.routes[0].legs.length; j++)
{
dist += result.routes[0].legs[j].distance.value;
if(i === result.routes[0].legs.length - 1) {
  • Odpowiedz
@Afrael: Ja się dopiero uczę, możesz to jakoś wyjaśnić? Bo dla mnie ani w jego pętli for, ani w Twojej nie ma żadnej asynchroniczności, zwykłe pętle for i dostęp do właściwości obiektu wykonywane sekwencyjnie. Jego wykona się tak samo jak Twoja.
  • Odpowiedz