CodeBlanks Logo Icon CodeBlanks

setTimeout

JavaScript kursu · Orta seviye · Ders 60/134

Belirli bir süre sonra bir kez çalışan kodu setTimeout ile yazmayı öğrenirsin.

setTimeout ile gecikmeli çağrı

setTimeout bir fonksiyonu belirli bir gecikmeden sonra bir kez çalıştırır. Gecikme milisaniye cinsindendir: 1000 ms = 1 saniye. Callback genelde ok fonksiyonu olarak yazılır.

setTimeout(() => {
  console.log('Merhaba');
}, 1000);

Bu kod 1 saniye sonra Merhaba yazdırır. Callback yalnızca bir kez çağrılır. Zamanlayıcı beklerken sayfa donmaz; diğer kodlar hemen çalışmaya devam eder.

setTimeout'a ek argüman vermek

setTimeout'a callback'den sonra ek parametreler verebilirsin. Bu parametreler callback çağrılırken argüman olarak geçirilir.

function greet(name) {
  console.log('Merhaba ' + name);
}
setTimeout(greet, 1000, 'Ayşe');

Bu kod 1 saniye sonra Merhaba Ayşe yazdırır. Üçüncü parametre 'Ayşe', callback'e name argümanı olarak verilir. Birden fazla argüman da virgülle ekleyebilirsin.

Uygulama 1 saniye sonra buton metnini değiştir

Bir buton seç ve setTimeout ile 1 saniye sonra metnini 'Hazır' yap. button.textContent'i kullan.

Örnek çözümü göster
const button = document.querySelector('button');
setTimeout(() => {
  button.textContent = 'Hazır';
}, 1000);

Kendini test et

  1. Aşağıdaki koddaki gecikme ne kadardır?

    setTimeout(() => {
      console.log('Merhaba');
    }, 2500);
    • 2.5 saat
    • 2500 milisaniye
    • 2500 saniye
    • 2500 dakika
    Cevabı göster

    2500 milisaniye — Doğru! 2500 sayısı milisaniye cinsindendir, yani 2.5 saniye.

  2. setTimeout çağrısını tamamla

    setTimeout(() => {
      console.log('Hazır');
    }, ____);
    Cevabı göster
    setTimeout(() => {
      console.log('Hazır');
    }, 1000);
  3. setTimeout parçalarını eşleştir

    setTimeout
    zamanlayıcı başlatır
    callback
    gecikmeden sonra çalışır
    1000
    1 saniyeye eşittir
    geri dönüş değeri
    timer kimliğidir

Orta seviye bölümündeki tüm dersler