Javascript Promise All
Herkese merhabalar bugün sizlere javascript içerisinde yer alan promise all kavramından bahsetmeye çalışıyor olacağım.Bildiğiniz üzere javascript asenkron bir yapıda çalışır bu yüzden bazı noktalarda bizim senkron işlemler ihtiyacımız vardır bunun için promise/async gibi kavramları hali hazırda kullanıyoruz , peki bir değişkenin değeri bir kaç servis sonucu , yada bekleme durumundan sonra set edilecekse bunu iç içe “then.then.then” yapısıyla yapmak yerine yahutta “await,await,await” tek bir method içerisinde 3 sonucu birden bekletebilmek için promise all methodundan yaralanıyor olacağız.
Yapılandırma;
index.js
dosyamı oluşturup aşağıdaki gibi kodluyorum.
let isStart = false;const getTodoById = () => {
return new Promise((resolve) => {
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => {
resolve(json)
})})}const getcomments = () => {
return new Promise((resolve) => {
fetch('http://jsonplaceholder.typicode.com/comments')
.then(response => response.json())
.then(json => {
resolve(json)
})})}const getalbums = () => {
return new Promise((resolve) => {
fetch('http://jsonplaceholder.typicode.com/albums').then(response => response.json()).then(json => {resolve(json)
})})
}
örneğin yukarıdaki gibi bir isStart
değerim olsun ve 3 adet promise döndüren fonksiyonun hepsinin işi bittikten sonra true
değerine sahip olmasını istiyorum. Bunun için aşağıdaki gibi promise all kavramını ekliyorum;
Promise.all([
getTodoById(), getcomments(),getalbums()]).then((response) => {
isStart = true
})
promise.all dedikten sonra array içerisine promise dönecek olan 3 adet methodumu girip ardından yalnızca hepsinin bitmesini bekliyorum , bütün promise methodlar resolve ile yanıtlarını döndügü zamanda response içerisine vermiş olduğum method sırasına göre array olarak resolve edilen değerler dönmüş olacaktır.
Yazmış olduğum bu yazıya dair videoyu burada bulabilirsiniz.
Herkese İyi Çalışmalar Dilerim.