JavaScript'te Geri Çağrılarla Asenkron Kod

Diyelim ki bazı asenkron fonksiyonlarımız var:

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

Diyelim ki bu fonksiyonu aşağıdaki şekilde kullanıyoruz:

javascriptmake();
console.log('2'); // ilk olarak çalışacak

Diyelim ki, fonksiyonun içindeki asenkron işlem çalıştıktan sonra konsoldaki ikinci çıktının çalışmasını istiyoruz. Bunun için kullanılan yaklaşımlardan biri geri çağrı kullanmaktır: Bekleyen kodu anonim bir fonksiyonun içine alıp make fonksiyonuna parametre olarak iletiriz:

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

Tabii ki, bu tek başına sorunumuzu çözmeyecektir. Şimdilik sadece şu anlaşmayı yapmış olduk: make tetiklendikten sonra kodu çalıştırmak istiyorsanız, bu kodu make çağrısına bir geri çağrı olarak iletin.

make fonksiyonunun kodunu, anlaşmamıza uygun çalışacak şekilde düzeltelim:

javascriptfunction make(callback) {
  setTimeout(function() {
    console.log('1'); // herhangi bir asenkron işlem, birden fazla olabilir
    callback();       // sonra geri çağrımız
  }, 3000);
}
Задание 1

Konsolda sayıların hangi sırayla yazdırılacağını anlatın:

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

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