Я пытаюсь получить выборки из разных источников.
URL (например, 'this.country ["A"] + this.props.productLink') составляет json данные для каждой страны.
Так что я ожидаю получить соответствующие доходы для каждой страны. Однако, когда я печатаю результат, он пропускает значения некоторых стран, но вместо этого печатает значения других стран, такие как [СТРАНА 3, СТРАНА 3, СТРАНА 4, СТРАНА 5, СТРАНА 6, СТРАНА 7, СТРАНА 8, СТРАНА 9, СТРАНА 3, СТРАНА 3]. Длина массива результатов равна 10, как и ожидалось. Я использовал обещания. Все, чтобы получить сохранение заказа. Интересно, почему это происходит?
Под componentDidMount ():
fetchData()
{
Promise.all([axios.get(this.country["A"] + this.props.productLink),
axios.get(this.country["B"] + this.props.productLink),
axios.get(this.country["C"] + this.props.productLink),
axios.get(this.country["D"] + this.props.productLink),
axios.get(this.country["E"] + this.props.productLink),
axios.get(this.country["F"] + this.props.productLink),
axios.get(this.country["G"] + this.props.productLink),
axios.get(this.country["H"] + this.props.productLink),
axios.get(this.country["I"] + this.props.productLink),
axios.get(this.country["J"] + this.props.productLink)])
.then(([res1, res2, res3, res4, res5, res6, res7, res8, res9, res10]) => {
return Promise.all([res1.data, res2.data, res3.data, res4.data, res5.data, res6.data, res7.data, res8.data, res9.data, res10.data])
})
.then(([res1, res2, res3, res4, res5, res6, res7, res8, res9, res10]) => {
const rawLoaded = [res1[this.priceSelector],res2[this.priceSelector],res3[this.priceSelector],res4[this.priceSelector],res5[this.priceSelector],
res6[this.priceSelector],res7[this.priceSelector],res8[this.priceSelector],res9[this.priceSelector],res10[this.priceSelector]]
console.log(rawLoaded)
if (rawLoaded.length == 10)
this.setState({isloading:true, rawPrice:rawLoaded})
})
.catch((error) =>{
console.error(error)
})
}