v2.5.2
Giriş yap

for döngüsünü bekleme

selim
724 defa görüntülendi

Herkese merhaba,

Aşağıdaki kodumda console çıktısında önce 'Son kısım' daha sonra 'i' ile yazdırdığım kısım geliyo. Ben istiyorumki for döngüsü çalışsın bitsin daha sonra alttaki 'Son kısım' çalışsın.

Bunu nasıl yapabilirim ?

const arr = new Array(5)
for (let i = 0; i < arr.length; i++) {
	setTimeout(_ => {
  	console.log(i)
  }, 10)
}

console.log('Son kısım')
tayfunerbilen
1465 gün önce

bunu tam olarak ne için istiyorsun? mantıken for döngüsü içinde console'a bastığın için neye göre bekleyecek ki.
örneğin bu değerlerini promise olarak tutup Promise.all() ile altta kontrol edip işlem yapabilirsin

const arr = new Array(5)
let promises = []
for (let i = 0; i < arr.length; i++) {
    promises.push(new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(i)
            resolve(i)
        }, 20)
    }))
}

Promise.all(promises).then(values => {
    console.log('Son kısım');
    // values ile isterse promisden döndürdüğün değerlere burada da bir işlem yapabilirsin
})

bilmiyorum ne kadar mantıklı tabi yapmak istediğin şeyi söylersen daha farklı fikirler üretebiliriz