Asynkron kode med callbacks i JavaScript

La oss si at vi har en asynkron funksjon:

javascriptfunction make() {
  setTimeout(function() {
    console.log('1');
  }, 3000);
}

La oss si at vi bruker denne funksjonen på følgende måte:

javascriptmake();
console.log('2'); // vil utføres først

La oss si at vi ønsker å gjøre slik at den andre utskriften til konsollen utføres etter at den asynkrone operasjonen inne i funksjonen er fullført. En av tilnærmingene som brukes for dette, er bruk av callback: la oss pakke koden som venter i en anonym funksjon og sende den som en parameter til funksjonen make:

javascriptmake(function() {
  console.log('2');
});

Selvfølgelig vil ikke dette alene løse oppgaven vår. Foreløpig har vi bare inngått følgende avtale: hvis du ønsker å utføre kode etter at make utløses, send denne koden som en callback til kallet av make.

La oss rette koden til funksjonen make slik at den begynner å fungere i henhold til vår avtale:

javascriptfunction make(callback) {
  setTimeout(function() {
    console.log('1'); // en eller annen asynkron operasjon, kanskje ikke bare én
    callback();       // deretter vår callback
  }, 3000);
}
Задание 1

Fortell i hvilken rekkefølge tallene vil vises i konsollen:

javascriptfunction make(callback) {
  setTimeout(function() {
    console.log('1');
    callback();
  }, 3000);
}

make(function() {
  console.log('2');
  console.log('3');
});