Tengo un objeto params:
const params = {price: '5000', qty: ''}
tengo una matriz:
const sizes = [2, 3, 4, 5]
¿Cómo puedo crear un objeto params para cada elemento de la matriz y luego usar cada objeto para realizar una solicitud de axios con una cantidad de solicitudes según la cantidad de elementos de la matriz?
La matriz variará. A veces tendrá 4 o elementos, 10 o 20. Creo que la estructura debería verse como la muestra a continuación, pero variará según el tamaño de la matriz.
const [ { data: data1 }, { data: data2 }, { data: data3 }, { data: data4 }, ] = await Promise.all([ axios.post(url, params), // const params = {price: '5000', qty: '2'} axios.post(url, params), // const params = {price: '5000', qty: '3'} axios.post(url, params), // const params = {price: '5000', qty: '4'} axios.post(url, params), // const params = {price: '5000', qty: '5'} ])Consulte {...params, qty: size} , esta parte hace que la cantidad sea igual a cada elemento de la matriz. Consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map para obtener más información sobre el mapeo de matrices y https://developer.mozilla.org/en-US/docs /Web/JavaScript/Reference/Operators/Spread_syntax para obtener información sobre el operador ... (u operador de propagación).
const sizes = [2, 3, 4, 5]; const response = await Promise.all(sizes.map(size => axios.post(url, {...params, qty: size})); const datas = response.map(res => res.data); // [{data: ...}, {data: ...}];