Ana içeriğe atla

JavaScript setTimeout Kullanımı

JavaScript SetTimeoutBu makalemizde JavaScript web programlama dilinde çokça kullanılan bir fonksiyon olan setTimeout metodunu inceleyeceğiz. Makaleye giriş yapabilmek için öcelikle setTimeout metodunun ne işe yaradığını ve ne zaman kullanıldığını açıklamaya çalışacağım. setTimeout metodunun mantığını açıkladıktan sonra da bu metodun kullanımı ile ilgili örneklere değinerek konunun daha da pekişmesini sağlamaya çalışacağız.
setTimeout metodu ismindeki time sözünden de anlaşılacağı gibi fonksiyonların ve ya belirli bir işin zamanlaması ile alakalı bir konudur. Temel kullanım şeklini, delay mantığına da benzetebiliriz. Örneğin, belirli bir iş yaparken bu işin hemen değil kodu okuduktan belirli bir süre sonra çalışmasını sağlamak istiyorsak setTimeout komutu bizim için vazgeçilmez çözümlerden biri olacaktır. Örneğin kullanıcının bir işlemi başlattıktan sonra 1 dakika içerisinde işlem yapmazsa tıklayacağı butonu deaktif etmek istiyorsanız aradığınız çözüm setTimeout metodu olabilir.

Bu noktada biraz da genel olarak JavaScript'in kodları okuma, önbelleğe alma ve çalıştırma mantığından bahsetmemiz gerekiyor. JavaScript bir js dosyasında kodları sırayla okur ve bunları önbelleğe alır. Biz bu metotları tetiklediğimizde veya bu metotlar başka yerlerden çağrıldığında devreye girerler. İşte bu nedenlerden dolayı bazen kodları okuma sırasında değil de belirli bir süre sonra işlem yapma ihtiyacı duyduğumuzda setTimeout metodu en iyi yardımcımız olabilir.
Örnek bir senaryo üzerinden devam ederek konuyu daha da açıklamaya çalışalım. Örneğin kullanıcının mail adresine bir doğrulama kodu gönderdiniz ve bu doğrulama kodunun belirli bir sürede girmesini bekliyorsunuz. Örneğin kullanıcı 10 dakika içerisinde doğrulama kodunu girmezse kullanıcıya tekrar mail adresini girmesini istiyorsunuz. Bu işlem için kullanabileceğiniz çözümlerden bir tanesi mail gönderdikten sonra setTimeout metodunu çağırmak ve bu zamanlama sıfırlanmadığı sürece saymasını beklemek olacaktır.
Örnekleri vermiş olsam da kod üzerinden de bunu açıklamanın daha kullanışlı ve anlaşılabilir olabileceğini düşündüm. Öncelikle basit bir örnekle başlayalım ve ekran içinde her hangi bir yere tıklandındaktan 10 saniye sonra ekrana "10 saniye önce ekran içindeki bir yere  tıklandı" yazalım. Bu işlem için yazdığım kodlar aşağıdadır. html tagını almak için JQuery kullandım. İsterseniz document.getElementsByTagName metodunu da kullanabilirsiniz

$('html').click(function (e) {
      setTimeout(alertMessage(), 10000);
}); 
function alertMessage(){
 alert("10 saniye önce ekran içindeki bir yere  tıklandı");
}

Bu örnek aslında setTimeout metodunun anlaşılması için yeterli ve kodu siz de denediğinizde 10 saniye sonra mesajın ekranda gözüktüğünü görecekseniz.
Verdiğim örnekte diğer önemli noktalardan bir tanesi ise yapacağınız işlemin kaç satır olmasına bakmayarak her zaman başka bir metodu çağırmanın kod okunabilirliğini artıracağı gerçeğidir. Örneğin bu işlem için metod ismini yazdığım yere direk alert("mesaj") şeklinde bir yazım da tercih edebilirdim. Ama ister sizin daha sonra kendi yazdığınız kodu anlayabilmeniz, isterse de diğer kişilerin sizin kodlarınızı anlayabilmesi için her zaman yapılacak işlemleri ayrı bir metoda almak çok önemlidir.
setTimeout metodunun kullanımı ile ilgili diğer önemli olan nokta metod ve gecikme sürelerinin ayarlanmasıdır. Metodun örnek kullanımında da gördüğünüz gibi bu metodun iki parametresi vardır. Bunlardan birinci çağırılacak metod, ikincisi ise milisaniye cinsinden ne kadar süre sonra kodun çalıştırılacağı parametresidir. Yani örneğin 1 dakika sonra çalıştırmasını istiyorsak süre olarak 60000 değerini girmemiz gerekiyor.
Son olarak konuyu özetleyecek olursak setTimeout metodu belirli işlemin gecikmelerle yapılmasını sağlamak için kullanılmaktadır. Metod parametre olarak metod ismini ve gecikme süresini almakta ve kod okunduktan gecikme süresi kadar sonra metodu çalıştırmaktadır.
Verdiğim örnek ve açıklamalarla birlikte konunun anlaşılabildiğini düşünüyorum. Yine de konuyla alakalı sorularınız olursa bana yazmaktan çekinmeyin. Fırsat buldukça yanıtlamaya çalışacağım...

Konuyla Alakalı Diğer Makaleler:

  1. JavaScript Zamanlanama Fonksiyonları
  2. JavaScript setTimeout Kullanımı 
  3. JavaScript clearTimeout Kullanımı 
  4. JavaScript setInterval() Metodu Kullanımı 
  5. JavaScript clearInterval Kullanımı

Yorumlar

Bu blogdaki popüler yayınlar

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4