Bootcamp i backendutvikling med Node.js · leksjon

Asynkron JavaScript og event loop

Forstå mønstre for asynkron programmering, callbacks, Promises, async/await og Node.js’ event loop.

Leksjon 3 av 412 trinn

Asynkron JavaScript og event loop er en gratis leksjon i Bootcamp i backendutvikling med Node.js på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bootcamp i backendutvikling med Node.js, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva er asynkron kode?

Asynkron kode lar Node starte en langsom oppgave – for eksempel lesing av en fil eller et nettverkskall – og fortsette å kjøre annen kode i stedet for å blokkere hovedtråden.

Synkron og asynkron kode forklart

Tenk på en kokk: synkron betyr å stå og vente mens vannet koker; asynkron betyr å kutte grønnsaker imens. Node lager mat som den asynkrone kokken.

Callback-mønsteret

Callback-funksjoner er funksjoner du sender inn for å kjøres senere – den klassiske måten å håndtere asynkront arbeid på. Når oppgaven er fullført, kalles callback-funksjonen med resultatet eller feilen.

En enkel callback i praksis

setTimeout er en lærebokeksempel på en asynkron operasjon: den venter et angitt tidsrom og utløser deretter callback-funksjonen du sendte inn.

function greet(name, callback) {
  setTimeout(() => {
    const message = `Hello, ${name}!`;
    callback(message);
  }, 1000); // Wait 1 second
}

function displayMessage(msg) {
  console.log(msg);
}

greet("Coddy", displayMessage);
console.log("Waiting for greeting...");

Utfordringen med callback-helvete

Når mange avhengige callback-funksjoner nøstes, oppstår callback-helvete – dypt innrykket og vanskelig lesbar kode der feilhåndtering og vedlikehold blir et mareritt.

Bli kjent med promises

En Promise representerer en verdi som kommer nå, senere eller aldri. Den befinner seg i én av tre tilstander: pending, fulfilled eller rejected.

Bruk promises

Håndter en Promise med .then() ved suksess og .catch() ved feil – dette gir ryddigere kjeding enn nøstede callback-funksjoner.

function fetchData(shouldSucceed) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if (shouldSucceed) {
        resolve("Data fetched successfully!");
      } else {
        reject("Failed to fetch data.");
      }
    }, 1000);
  });
}

fetchData(true)
  .then(data => console.log(data))
  .catch(error => console.error(error));

fetchData(false)
  .then(data => console.log(data))
  .catch(error => console.error(error));

Async/await for tydelighet

async/await er syntaks oppå Promises som gjør at asynkron kode kan leses som synkron kode. await setter kjøringen på pause i en async-funksjon til Promisen er avgjort.

Async/await i praksis

Se hvordan async/await gjør det forrige eksempelet flatere – og hvordan en vanlig try...catch håndterer feil direkte på stedet.

function delayedMessage(msg, delay) {
  return new Promise(resolve => {
    setTimeout(() => resolve(msg), delay);
  });
}

async function processMessages() {
  try {
    console.log("Starting process...");
    const msg1 = await delayedMessage("First message!", 1000);
    console.log(msg1);
    const msg2 = await delayedMessage("Second message!", 500);
    console.log(msg2);
    console.log("Process finished.");
  } catch (error) {
    console.error("An error occurred:", error);
  }
}

processMessages();

Node.js-hendelsesløkken

Hendelsesløkken er Nodes motor: når kallstakken er tom, henter den callback-funksjoner fra køen og kjører dem – og muliggjør ikke-blokkerende I/O i én enkelt tråd.

Kunnskapssjekk om asynkronitet

Hvilket av alternativene nedenfor beskriver best den viktigste fordelen ved å bruke asynkron programmering i Node.js?

Oppsummering: Asynkronitet og hendelsesløkken

Asynkront arbeid gir Node rekkevidden: callback-funksjoner startet det, Promises strukturerte det, async/await ryddet det opp, og hendelsesløkken driver det hele.

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
22
Leksjoner
92

Ofte stilte spørsmål

Er leksjonen «Asynkron JavaScript og event loop» gratis?

Ja – hele teksten i «Asynkron JavaScript og event loop» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bootcamp i backendutvikling med Node.js-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva lærer jeg i «Asynkron JavaScript og event loop»?

Forstå mønstre for asynkron programmering, callbacks, Promises, async/await og Node.js’ event loop. Du øver på Bootcamp i backendutvikling med Node.js med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Bootcamp i backendutvikling med Node.js?

Ingen tidligere erfaring er nødvendig. Bootcamp i backendutvikling med Node.js på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Asynkron JavaScript og event loop»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Bootcamp i backendutvikling med Node.js-leksjonen?

Ja. Alle Bootcamp i backendutvikling med Node.js-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til Node.js og NPM
  2. Node.js-modulsystemet forklart
  3. Asynkron JavaScript og event loop
  4. Arbeid med filsystemet og strømmer
← Tilbake til Bootcamp i backendutvikling med Node.js