On Wed, 27 Sep 2023, Tommi Lahtonen via Tiea2120 wrote:
Tähän tehtävään liittyen löytyy myös vähän taustoitusta asynkronisiin funktioihin täältä:
https://appro.mit.jyu.fi/tiea2120/luennot/async/
Itse ei tarvitse asynkronisia funktioita rakentaa, kuin ehkä viikkotehtävän vitostasolla.
Huomioikaa kuitenkin jo heti ykköstasolla, että omaa koodia ei voi kirjoittaa ihan mihin sattuu, vaan se on kirjoitettava sinne mihin valmiissa pohjassa sitä ehdotetaan.
WWW-sivun latautumisessa ja javascript-koodinne suorituksessa on vaiheita, jotka on huomioitava. Esim. ette voi javascript-sovelluksella käsitellä www-sivun sisältöä ennen kuin se on latautunut. Valmiissa pohjassa javascript-koodit ladataan heti sivun head-osassa eli ennen kuin sivun loppuosa on valmis. Esim. jos kirjoitatte valmiin lomakkeen sivulle, ette voi käsitellä sitä ennen kuin se on latautunut. Tätä varten on olemassa load-tapahtuma, joka suoritetaan vasta www-sivun kokonaan latauduttua. Valmiissa viikkotehtäväpohjassa tämä huomioidaan eli vasta sivun latauduttua alkaa varsinainen sovelluskoodi. Tehtävässä tarvitaan www-palvelimelta erikseen ladattavaa dataa, joka ladataan valmiissa pohjassa vasta load-tapahtuman yhteydessä. Tämän lataamisen valmistuminen pitää myös erikseen odottaa ennen kuin dataa voi käsitellä.