React Sıralı Fetch
State içerisinde seçili idleri alıp her idyi ayrı ayrı api istek göndermek istiyorum ancak gönderilen isteğin cevabı gelmeden diğer isteği göndermek istemiyorum bunu nasıl kontrol edebilirim react tarafında?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
const ids = [5,2,3,4];
const doRequest = async (arr, cb) => {
for (let e of arr) {
if (await cb(e)) return true;
}
return false;
};
const res = doRequest(ids, async (i) => {
console.log(`requesting id :${i}`)
return new Promise((res,rej) => {
setTimeout(() => {
if(i === 2)
return res(true);
res(false)
},1000)
});
});
Burada kısaca ids içerisinde dönüyoruz orada bir promise işlemi gerçekleşiyor sen fetch vs çalıştıracaksın. Eğer sonucun başarılı dönmezse rej'a true veya res'a true aksi halde false değerini göndermen gerekiyor.
Ben id'si 2 olanı bilerek hata varmış gibi döndürdüm.
Çıktısı ise şöyle;
//requesting id :5
//requesting id :2