JavaScript ile çalışırken, bir işlevi çalıştırmak  belirli bir süre beklemek isteyeceğiniz bir nokta olacaktır.

Bu,bir örnek belirli bir süre sonra bir şeyi canlandırmak olabilir. Bu örnek metni panoya kopyalama, komut dosyasında çalıştırma gibi birzaman süreç gerektirecek.

JavaScript setTimeout işlevi

En temel biçiminde işlev şöyle görünüm alır

setTimeout(() => {
  // Run after 100 milliseconds
}, 100);

Görüyorsunuz, sayı 100çalıştırmak için bekleyeceği milisaniyeleri ifade ediyor.Gördüğünüz gibi, temel örnek, çağrılacak bir ok işlevleri dizisi kullanır. Ayrıca işleminizi aşağıdaki şekilde de iletebilirsiniz.

const coolFunc = () => {
  console.log('do a trick');
};

setTimeout(coolFunc, 200);

Ama diyelim ki fonksiyonunuz parametre alıyor. Bunu bile bu kurulumla yapabiliriz.

const coolFunc = (name, age) => {
  console.log(`Hi ${name} you are ${age} years old?`);
};

setTimeout(coolFunc, 200, 'Chris', 32);

Gördüğünüz gibi props, timeout parametresinden sonra geçiliyor.

Düşündüğünü görüyorum! Zamanı 0'a ayarladığımızda ne olacak?

Fakat! Bu, komut dosyasında daha sonra gelseler bile, yalnızca diğer tüm işlevler tamamlandıktan sonra çağrılır.,

setTimeout(() => {
  console.log('zero wait timeout');
}, 0);

console.log('first');

const otherFunction = () => {
  console.log('The other function');
};

otherFunction();


Hangi sonuçları verecek

  • ilk
  • diğer işlev
  • sıfır bekleme zaman aşımı

Gördüğünüz gibi setTimeout, sıfır milisaniyeye sahip olmasına rağmen, yalnızca en son tetiklenir.

setTimeout işlevini iptal edin

Planladığınız zaman aşımını iptal etmek isteyebileceğiniz bazı zamanlar vardır.

Zaman aşımını bir fonksiyon olarak tanımlayabiliriz, bu da bize onu temizleme seçeneği sunar.