Kutsupino
Kutsupino on järjestetty luettelo funktioista (tai pinokehyksistä), jotka ohjelman on suoritettava ennen kuin se palauttaa tuloksen.
Ohjelmoinnissa kutsupino on järjestetty luettelo funktioista (tai pinokehyksistä), jotka ohjelman on suoritettava ennen kuin se palauttaa tuloksen. Se on rakenteeltaan Last In, First Out (LIFO), jossa uudet lisätyt funktiot työnnetään pinon yläosaan. Kun ylin funktio on valmis, kyseinen pino katoaa, ja ohjelma siirtyy seuraavaan. Ajattele sitä ohjelman tehtävälistana, jossa funktiot käydään yksi kerrallaan läpi tehtävän suorittamiseksi.
Monet JavaScript-ohjelmat käyttävät kutsupinoja toimintojen virtaviivaistamiseen. Yksi esimerkki kutsupinoista on tietojen validointi. Jos suunnittelet tilin rekisteröintisivua, tarvitset keinon tarkistaa, onko käyttäjä jo rekisteröity. Ensin ohjelma tekee kyselyn käyttäjätietokannasta - tämä tehtävä siirtyy kutsupinon kärkeen. Kun kysely on suoritettu, kyseinen tehtävä katoaa ja ohjelma siirtyy seuraavaan tehtävään: joko muistuttamaan käyttäjiä siitä, että heillä on tili, tai jatkamaan rekisteröintiprosessia.
Pinon ylivuoto on yleinen virhe, kun pinoon lisätään lisää toimintoja poistamatta niitä. Näin voi tapahtua, jos ohjelma päätyy silmukkaan: B ei voi valmistua ilman A:ta, ja A ei voi valmistua ilman B:tä.
Luodaan se yhdessä