JavaScript Geri Aramaları
"Daha sonra arayacağım!"
Geri arama, başka bir işleve argüman olarak iletilen bir işlevdir.
Bu teknik, bir işlevin başka bir işlevi çağırmasına izin verir.
Bir geri arama işlevi, başka bir işlev tamamlandıktan sonra çalışabilir
İşlev Sırası
JavaScript işlevleri, çağrıldıkları sırayla yürütülür. Tanımlandıkları sırayla değil.
Bu örnekte "Hoşçakal" mesajı görüntülenecektir:
Örnek
function myFirst() {
myDisplayer("Hello");
}
function
mySecond() {
myDisplayer("Goodbye");
}
myFirst();
mySecond();
Bu örnek sonunda "Merhaba" görüntülenecektir:
Örnek
function myFirst() {
myDisplayer("Hello");
}
function
mySecond() {
myDisplayer("Goodbye");
}
mySecond();
myFirst();
Sıra Kontrolü
Bazen bir işlevin ne zaman yürütüleceği konusunda daha iyi kontrol sahibi olmak istersiniz.
Bir hesaplama yapmak ve ardından sonucu görüntülemek istediğinizi varsayalım.
Bir hesap makinesi işlevini ( myCalculator
) çağırabilir, sonucu kaydedebilir ve ardından myDisplayer
sonucu görüntülemek için başka bir işlevi ( ) çağırabilirsiniz:
Örnek
function myDisplayer(some) {
document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
let sum = num1 + num2;
return sum;
}
let result = myCalculator(5, 5);
myDisplayer(result);
Veya bir hesap makinesi işlevini ( myCalculator
) çağırabilir ve hesap makinesi işlevinin görüntüleme işlevini ( myDisplayer
) aramasına izin verebilirsiniz:
Örnek
function myDisplayer(some) {
document.getElementById("demo").innerHTML
= some;
}
function myCalculator(num1, num2) {
let sum = num1 + num2;
myDisplayer(sum);
}
myCalculator(5, 5);
Yukarıdaki ilk örnekteki sorun, sonucu görüntülemek için iki işlevi çağırmanız gerektiğidir.
İkinci örnekteki sorun, hesap makinesi işlevinin sonucu göstermesini engelleyememenizdir.
Şimdi bir geri arama getirme zamanı.
JavaScript Geri Aramaları
Geri arama, başka bir işleve argüman olarak iletilen bir işlevdir.
Bir geri arama kullanarak, bir geri arama ile hesap makinesi işlevini ( myCalculator
) çağırabilir ve hesaplama tamamlandıktan sonra hesap makinesi işlevinin geri aramayı çalıştırmasına izin verebilirsiniz:
Örnek
function myDisplayer(some) {
document.getElementById("demo").innerHTML
= some;
}
function myCalculator(num1, num2, myCallback) {
let sum = num1 + num2;
myCallback(sum);
}
myCalculator(5, 5, myDisplayer);
Yukarıdaki örnekte myDisplayer
, bir fonksiyonun adıdır.
myCalculator()
Bir argüman olarak iletilir .
Bir işlevi argüman olarak ilettiğinizde parantez kullanmamayı unutmayın.
Sağ: myCalculator(5, 5, myDisplayer);
Yanlış: myCalculator(5, 5, myDisplayer());
Geri Arama Ne Zaman Kullanılır?
Yukarıdaki örnekler çok heyecan verici değil.
Size geri arama sözdizimini öğretmek için basitleştirilmiştir.
Geri aramaların gerçekten parladığı yerlerde, bir işlevin başka bir işlevi beklemesi gerektiği (bir dosyanın yüklenmesini beklemek gibi) eşzamansız işlevlerdedir.
Asenkron fonksiyonlar bir sonraki bölümde ele alınmaktadır.