JavaScript atzvanīšanas funkcijas - kas ir atzvanīšana JS un kā tos izmantot

Ja esat iepazinies ar programmēšanu, jūs jau zināt, kādas funkcijas veic un kā tās izmantot. Bet kas ir atzvanīšanas funkcija? Atzvana funkcijas ir svarīga JavaScript daļa, un, tiklīdz sapratīsit, kā darbojas atzvanīšana, jūs kļūsiet daudz labāks JavaScript.

Tāpēc šajā ziņojumā es vēlētos palīdzēt jums saprast, kādas ir atzvanīšanas funkcijas un kā tās izmantot JavaScript, izejot no dažiem piemēriem.

Kas ir atzvanīšanas funkcija?

JavaScript valodā funkcijas ir objekti. Vai mēs varam objektus nodot funkcijām kā parametriem? Jā.

Tātad, mēs varam arī nodot funkcijas kā parametrus citām funkcijām un izsaukt tās iekšējās funkcijās. Izklausās sarežģīti? Ļaujiet man parādīt, ka šajā piemērā:

function print(callback) { callback(); }

Funkcija print () kā parametru ņem citu funkciju un izsauc to iekšpusē. Tas ir derīgs JavaScript, un mēs to saucam par “atzvanīšanu”. Tātad funkcija, kas tiek nodota citai funkcijai kā parametrs, ir atzvanīšanas funkcija. Bet tas vēl nav viss.

Tālāk varat arī noskatīties atzvanīšanas funkciju video versiju:

Kāpēc mums ir nepieciešamas atzvanīšanas funkcijas?

JavaScript secīgi izpilda kodu no augšas uz leju. Tomēr ir daži gadījumi, kad kods tiek palaists (vai ir jādarbojas) pēc tam, kad notiek kaut kas cits, un arī ne secīgi. To sauc par asinhrono programmēšanu.

Atzvani pārliecinās, ka funkcija nedarbosies pirms uzdevuma izpildes, bet darbosies uzreiz pēc uzdevuma izpildes. Tas palīdz mums izstrādāt asinhronu JavaScript kodu un pasargā mūs no problēmām un kļūdām.

Programmā JavaScript atzvanīšanas funkcijas izveide ir nodot to kā parametru citai funkcijai un pēc tam to izsaukt uzreiz pēc tam, kad kaut kas ir noticis vai kāds uzdevums ir pabeigts. Apskatīsim, kā ...

Kā izveidot atzvanīšanu

Lai saprastu iepriekš izskaidroto, ļaujiet man sākt ar vienkāršu piemēru. Mēs vēlamies reģistrēt ziņojumu konsolē, taču tam vajadzētu būt klāt pēc 3 sekundēm.

const message = function() { console.log("This message is shown after 3 seconds"); } setTimeout(message, 3000);

JavaScript ir iebūvēta metode ar nosaukumu “setTimeout”, kas izsauc funkciju vai novērtē izteiksmi pēc noteiktā laika perioda (milisekundēs). Tātad šeit “ziņu” funkcija tiek izsaukta pēc 3 sekundēm. (1 sekunde = 1000 milisekundes)

Citiem vārdiem sakot, ziņojuma funkcija tiek izsaukta pēc tam, kad kaut kas noticis (pēc 3 sekundēm, kas pagājušas šim piemēram), bet ne agrāk. Tātad ziņojuma funkcija ir atzvanīšanas funkcijas piemērs.

Kas ir anonīma funkcija?

Alternatīvi, mēs varam definēt funkciju tieši citas funkcijas iekšpusē, nevis to izsaukt. Tas izskatīsies šādi:

setTimeout(function() { console.log("This message is shown after 3 seconds"); }, 3000);

Kā redzam, šeit atzvanīšanas funkcijai nav nosaukuma, un funkcijas definīcija bez nosaukuma JavaScript tiek saukta par “anonīmu funkciju”. Tas veic tieši tādu pašu uzdevumu kā iepriekš minētajā piemērā.

Atzvans kā bultiņas funkcija

Ja vēlaties, varat arī uzrakstīt to pašu atzvanīšanas funkciju kā ES6 bultiņas funkcija, kas ir jaunāks funkcijas veids JavaScript:

setTimeout(() => { console.log("This message is shown after 3 seconds"); }, 3000);

Kā ar notikumiem?

JavaScript ir notikumu virzīta programmēšanas valoda. Notikumu deklarācijās mēs izmantojam arī atzvanīšanas funkcijas. Piemēram, pieņemsim, ka mēs vēlamies, lai lietotāji noklikšķina uz pogas:

Click here

Šoreiz konsolē redzēsim ziņojumu tikai tad, kad lietotājs noklikšķinās uz pogas:

document.queryselector("#callback-btn") .addEventListener("click", function() { console.log("User has clicked on the button!"); });

Tātad šeit mēs vispirms atlasām pogu ar tās ID un pēc tam pievienojam notikumu klausītāju ar metodi addEventListener. Tam nepieciešami 2 parametri. Pirmais ir tā tips, “klikšķis”, un otrais parametrs ir atzvanīšanas funkcija, kas reģistrē ziņojumu, noklikšķinot uz pogas.

Kā redzat, atzvana funkcijas tiek izmantotas arī notikumu deklarācijām JavaScript.

Satīt

Atzvani bieži tiek izmantoti JavaScript, un es ceru, ka šī ziņa palīdzēs jums saprast, ko viņi patiesībā dara un kā ar viņiem vieglāk strādāt. Pēc tam jūs varat uzzināt par JavaScript solījumiem, kas ir līdzīga tēma, kuru es izskaidroju savā jaunajā ziņojumā.

Ja vēlaties uzzināt vairāk par tīmekļa izstrādi, droši sekojiet man Youtube !

Paldies par lasīšanu!