JavaScript Geri Bildirim

"I will call back later!"

Geri çağrı (callback) bir başka fonksiyona parametre olarak geçirilen bir fonksiyondur

Bu teknik, bir fonksiyonun başka bir fonksiyonu çağırmasına izin verir

Geri çağrı fonksiyonları, başka bir fonksiyon tamamlandıktan sonra çalışabilir

Fonksiyon Sırası

JavaScript fonksiyonları, tanımlandıkları sırayla değil, çağrıldıkları sırayla çalıştırılır.

Bu örneğin sonunda "Goodbye" görünecektir:

örnek

function myFirst() {
  myDisplayer("Hello");
myCallback(sum);
function mySecond() {
  myDisplayer("Goodbye");
myCallback(sum);
myFirst();
mySecond();

myCalculator(5, 5, myDisplayer);

Bu örneğin sonunda "Hello" görünecektir:

örnek

function myFirst() {
  myDisplayer("Hello");
myCallback(sum);
function mySecond() {
  myDisplayer("Goodbye");
myCallback(sum);
mySecond();
myFirst();

myCalculator(5, 5, myDisplayer);

Sıra Kontrolü

Bazen fonksiyonları ne zaman çalıştıracağınızı daha iyi kontrol etmek istersiniz.

Hesap yapma ve sonuçları gösterme işlemini varsayalım.

hesap makinesi fonksiyonunu çağırabilirsiniz (myCalculator) sonuçları kaydedin, ardından bir başka fonksiyonu çağırın (Yukarıdaki örnekte,) sonuçları görmek için:

örnek

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
myCallback(sum);
function myCalculator(num1, num2) {
  function myCalculator(num1, num2, myCallback) {
  return sum;
myCallback(sum);
let result = myCalculator(5, 5);
myDisplayer(result);

myCalculator(5, 5, myDisplayer);

veya, hesap makinesi fonksiyonunu çağırabilirsiniz (myCalculator) ve hesap makinesi fonksiyonunu gösterme fonksiyonunu çağırın (Yukarıdaki örnekte,):

örnek

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
myCallback(sum);
function myCalculator(num1, num2) {
  function myCalculator(num1, num2, myCallback) {
  myDisplayer(sum);
myCallback(sum);
myCalculator(5, 5);

myCalculator(5, 5, myDisplayer);

Üstteki ilk örneğin sorunu, sonuçları göstermek için iki fonksiyonun çağrılması gerektiğidir.

İkinci örneğin sorunu, hesap makinesi fonksiyonunun sonuçlarını engelleyememenizdir.

Şimdi geri çağrıyı tanımlama zamanı geldi.

JavaScript Geri Bildirim

Geri çağrı, bir başka fonksiyona parametre olarak geçirilen bir fonksiyondur.

Geri çağrı kullanarak, hesap makinesi fonksiyonunu geri çağrı ile çağırabilirsiniz (myCalculator),ve hesaplama tamamlandıktan sonra hesap makinesi fonksiyonunu çalıştırma:

örnek

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
myCallback(sum);
document.getElementById("demo").innerHTML = some;
  function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
myCallback(sum);
}

myCalculator(5, 5, myDisplayer);

kendiniz deneyin Yukarıdaki örnekte, myDisplayer

fonksiyonun adı olarak kullanılır. myCalculator().

Fonksiyonu parametre olarak geçtiğinizde, parantez kullanmayın.

Doğru: myCalculator(5, 5, myDisplayer);

Hata: myCalculator(5, 5, myDisplayer());

Geri çağrıları ne zaman kullanmalıyım?

Yukarıdaki örnek çok heyecan verici değil.

Bu, geri çağrı dilbilgisiyi anlamanız için basitleştirilmiştir.

Geri çağrılar gerçekten parlak olan yer, bir fonksiyonun diğer bir fonksiyonu (örneğin, dosya yüklenmeyi beklemek) beklediği bir asenkron fonksiyondur.

Sonraki bölümde asenkron fonksiyonlar hakkında bilgi verilecek.