Lahendatud: asünkroonse kiirkäitleja

Sellise keerulise artikli kirjutamine Expressi asünkroonimistöötleja kohta selles vormingus võib nõuda pikka selgitust. Vastavalt teie soovile proovin selle selle platvormi jaoks alla suruda.

Expressi asünkroonimiskäsitleja on vahevara, mis käsitleb Node.js-i Expressi marsruutide vigu ja erandeid. See lihtsustab teie koodi ja aitab vältida paljusid koondamisi. Traditsiooniliselt kasutame vigade käsitlemiseks igal marsruudil proovi püüdmist, kuid see lähenemisviis võib muuta koodi korduvaks ja lohakaks. Express async käitleja pakub puhtamat alternatiivi.

const express = require('express');
const AsyncHandler = require('express-async-handler');

const router = express.Router();

router.get('/', AsyncHandler(async (req, res) => {
    const data = await someAsyncFunction();
    res.json(data);
}));

module.exports = router;

See on lihtne JavaScripti kood, mis impordib ekspress- ja ekspress-asünkroonhalduri paketid. See määrab marsruudi funktsiooni express.Router() abil. Seejärel määratleb marsruudil GET-päringu, mida haldab funktsioon AsyncHandler.

Koodilõigu puhul võite küsida, mille jaoks funktsioon AsyncHandler on mõeldud. Noh, AsyncHandler on paketi „express-async-handler” võtmeelement. See funktsioon murrab teie marsruudi ja tabab kõik ilmnevad vead, edastades need teie Expressi tõrketöötluse vahevarale.

Nüüd jagame selle samm-sammult lahti:

1. Argumendiks kutsume funktsiooni AsyncHandler oma marsruudihalduriga.
2. Marsruudikäsitleja sees oleme funktsiooni märkinud asünkrooniks.
3. Seejärel kasutame await märksõna, et kutsuda mõni AsyncFunction, mis tagastab lubaduse.
4. Kui lubadus laheneb, salvestame tulemuse andmemuutujasse ja saadame selle vastuses tagasi json-vormingus.
5. Kui lubadus lükatakse tagasi või selle toimingu ajal ilmneb tõrkeid, püüab AsyncHandler need kinni ja edastab vahevara ahela.

Asünkrooni/ootamise tähtsus JavaScriptis

Asünkrooni/oota on kaasaegne viis asünkroonsete toimingute käsitlemiseks JavaScriptis. See muudab teie asünkroonse koodi rohkem sünkroonse koodi sarnaseks, mida on lihtsam mõista ja hooldada. Et mõista, kuidas see kiirasünkroonse töötleja teegis töötab, peab teil olema korralik arusaam JavaScripti asünkroonsest programmeerimisest.

Asünkroniseerimine/ootamine võimaldab teil lubadustega mugavamalt töötada. Kasutades try/catchit, saate vigadega toime tulla täpselt nii, nagu käsitlete neid sünkroonkoodis.

Express ja vahevara

Express on Node.js-i veebiserveri raamistik – see lihtsustab paljusid asju, näiteks HTTP-päringute käsitlemist ja pakub oma vahevara arhitektuuriga märkimisväärset paindlikkust.

Vahevara on funktsioonid, millel on juurdepääs taotlusele, vastusele ja järgmisele vahevara funktsioonile rakenduse päringu-vastuse tsüklis. Nad saavad käivitada mis tahes koodi, muuta päringut ja vastuse objekte ning lõpetada päringu-vastuse tsükli. Express-async-handler on vahevara, mis aitab käsitleda asünkroonsete kiirmarsruutide erandeid.

[b]Pidage meeles[/b], et kui tegelete oma Expressi marsruutidel asünkroonimistoimingutega, võiksite kasutada kiirasünkroonimishaldurit või muud sarnast lähenemist, et kood oleks puhtam ja hõlpsamini käsitsetav. Kui te neid juhtumeid ei käsitle, võib see kaasa tuua töötlemata lubaduse tagasilükkamise, mis võib põhjustada teie protsessi Node.js krahhi.

Olen selles artiklis keskendunud express-async-handler paketile, kuid põhimõtted kehtivad ka muu Node.js vahevara puhul. Asünkroonse loogika puhta käsitsemise mõistmine on tänapäevase JavaScripti arenduse keskne osa.

Seonduvad postitused:

Jäta kommentaar