Söz ile gecikme
Gömülü olarak gelen setTimeout fonksiyonu callback kullanmaktadır. Bunun söz-temelli alternatifini yazınız.
delay(ms) fonksiyonu söz döndürmelidir. Bu söz ms saniye sonra çözülmelidir. Böylece .then ekleyebiliriz. Örneğin:
function delay(ms) {
// Kodunuz
}
delay(3000).then(() => alert('runs after 3 seconds'));
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
delay(3000).then(() => alert('runs after 3 seconds'));
Dikkat ederseniz bu çağrıda resolve argüman olmadan çağrılmıştır. delay’den hiç değer dönmüyoruz, sadece geciktiğine eminiz.