v2.5.2
Giriş yap

React Sıralı Fetch

polev
270 defa görüntülendi

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?

devepdogukan
669 gün önce
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