Programmēšanas pasaulē ir būtiski efektīvi pārvaldīt asinkronus procesus, lai nodrošinātu pievilcīgu lietotāja pieredzi. Īpaši JavaScript ir daudz dažādu iespēju, kā to izdarīt. Viens no populārākajiem veidiem, kā strādāt ar asinkroniem procesiem, ir async/await konstrukcija. Tā ietver sintaktisku vienkāršošanu, kas ļauj izveidot skaidrāku un lasāmāku asinkronu programmēšanu. Šajā rokasgrāmatā mēs iepazīsim async un await pamatus un to, kā tie var uzlabot Tavu kodēšanu.

Galvenās atziņas

  • async/await nodrošina skaidru un vienkāršāku sintaksi asinkronu procesu pārvaldīšanai.
  • Katrai funkcijai, kas izmanto atslēgvārdu await, jābūt deklarētai kā async.
  • await efektīvi gaida promises izpildīšanu, pirms tālāk tiek izpildīts kods.
  • Kļūdu apstrādi var eleganti ieviest ar try/catch blokiem.

Pakāpeniska rokasgrāmata

Pirmajā kārtā Tev jānodrošina, ka saproti promises pamatus, jo async/await tam ir balstīts. Ja esi iepazinies ar promises, tagad varam apspriest async/await lietojumu.

1. solis: Aiztures funkcijas izveide

Sāc ar vienkāršu funkciju, kas atgriež promise, kas simulē aizturi. Šeit ir piemērs funkcijai, kuru nosauktas par delay.

Šī ir pamatfunkcijas ieviešana. Ar šo funkciju vari norādīt aizturi milisekundēs.

Efektīva Async un Await izmantošana JavaScriptā

2. solis: Async un Await ieviešana

Tagad Tu vēlies izmantot async/await priekšrocības. Sāc ar funkcijas izveidi, kas izmanto async atslēgvārdu.

Šajā koda fragmentā funkcija runDelay izmanto async atslēgvārdu, kas tai ļauj izmantot await. Tas nozīmē, ka funkcijas izpilde tiek pārtraukta, līdz promise, ko atgriež delay funkcija, tiek izpildīts.

3. solis: Asinkronās funkcijas testēšana

Lai testētu tā darbību, izsauc runDelay funkciju.

Ja Tu izpildīsi skriptu, redzēsi, ka konsole izvada "Sāk aizturi...", tad 2 sekundes pauzē un beidzot izvada "Aizturēšana pabeigta."

4. solis: Kļūdu apstrāde ar try/catch

Programmēšanā tas bieži notiek – kļūdas var rasties jebkurā laikā. Ar async/await Tu vari vieglāk apstrādāt kļūdas, izmantojot try/catch.

Ja vēlies noķert kļūdas, Tu vari modificēt runDelay funkciju šādi:

Izmantojot try/catch, var tikt noķerta un parādīta jebkura kļūda, kas rodas gaidot await delay(2000).

Efektīva Async un Await izmantošana JavaScriptā

5. solis: Fetch izmantošana ar async/await

Vēl viens bieži izmantots gadījums ir datu iegūšana ar fetch API.

Šajā piemērā ar fetch tiek veikts tīkla pieprasījums. Atkal mēs varam ar await nodrošināt, ka gaidām uz atbildi pirms turpinām.

Kopsavilkums - Async un Await: Pakāpeniska rokasgrāmata

Šajā rokasgrāmatā Tu esi iemācījies, kā skaidrāk pārvaldīt asinkronus procesus JavaScript, izmantojot async/await konstrukciju. Tu esi redzējis, kā izveidot aiztures funkciju, kā apstrādāt kļūdas un kā efektīvi iegūt datus ar fetch API.

Izmanto šo sintaksi savos nākotnes projektos, lai padarītu savu kodu lasāmāku un uzturēt grūtāk!

Bieži uzdoti jautājumi

Kas ir atšķirība starp async un await?async atzīmē funkciju kā asinkronu, kas nozīmē, ka tā atgriež promises. await tiek izmantots, lai gaidītu rezultātu no promise.

Kad Tev vajadzētu izmantot async/await?Izmanto to, kad strādā ar asinkroniem procesiem un vēlies, lai Tavs kods paliek skaidrs un lasāms.

Vai es varu izmantot async/await katrā pārlūkā?Jā, bet pārliecinies, ka izmantotā pārlūkprogramma atbalsta mūsdienu JavaScript sintaksi. Ja nepieciešams, iespējams izmantot transpilatorus, kā Babel.

Vai es varu izmantot await parastā funkcijā?Nē, lai izmantotu await, funkcijai, kurā tā tiek izmantota, jābūt deklarētai kā async.

Kas notiek, ja promise neizdodas?Ja promise neizdodas, tiek izsaukta kļūdas ziņojums, kuru var apstrādāt ar try/catch.