Şu anda veriyi eş zamanlı olarak getirmek ve depoda ilk durum olarak ayarlamak için aşağıdaki sunucu tarafı oluşturma mantığını (reactjs + nodejs + redux kullanarak) kullanıyorum.Sunucu tarafında oluşturulan Reaktif uygulamasında birden çok HTTP isteği nasıl yapılandırılır?
fetchInitialData.js
export function fetchInitialData(q,callback){
const url='http://....'
axios.get(url)
.then((response)=>{
callback((response.data));
}).catch((error)=> {
console.log(error)
})
}
Verileri uyumsuz getir ve ilk seferinde geri arama kullanarak sayfa yükleri depolamak için de çıkışını yükleyin.
handleRender(req, res){
fetchInitialData(q,apiResult => {
const data=apiResult;
const results ={data,fetched:true,fetching:false,queryValue:q}
const store = configureStore(results, reduxRouterMiddleware);
....
const html = renderToString(component);
res.status(200);
res.send(html);
})
}
Ben ilk sayfa yüklemesinde 4 ila 5 API çağrıları dolayısıyla sayfa yüklendiğinde birden çağrı yapmaya ulaşmak için kolay bir yol olup olmadığını görmek için kontrol düşündüm yapmak için bir gereksinim var.
API çağrılarını zincirlemeli ve farklı API çağrılarından gelen yanıtı manuel olarak birleştirip ilk durumu yüklemek için geri göndermem gerekir mi?
Güncelleme 1: Ben axios.all yaklaşım kullanarak düşünüyorum , birinin bu ideal yaklaşımdır varsa bana bildirin olabilir?
Promise.all yaklaşımını kullanırken dikkatli olun, çünkü birden çok istekte bulunursunuz ve bir Sözün alınıp iptal edilmesi durumunda bunların hepsi iptal edilir. –
Muhtemelen hemen ihtiyacınız olan şey bu değil, ancak bu katmana erişebilir ve projenizde yeterince erken olduğunda GraphQL bu tür sorunları çözebilir. http://graphql.org/ – Jazzy