Estoy tratando de obtener datos a través de api.
apiCliente:
export interface apiRequest { locations: LocationOptions[]; } interface FOLocations { locationId: number; } interface LocationResult { location: FOLocations[]; cityName: string; } export const locationCheck = async ( apiKey: string, payload: apiRequest ): Promise<LocationResult[]> => { let response = await axios.post<LocationResult[]>( `api...`, payload ); return response.data;Ejecutar código:
const locationPayload : apiRequest = { locations:[{ cityName: "London"},{cityName: "New York"},{cityName: "Paris"}], }; const locationResponse = await locationCheck(apiKey,locationPayload); const [locationResponseRes] = locationResponse; console.log(locationResponseRes);Salida real:
{ "location": { "locationId": 1, "cityName: "London", } }Salida esperada (lo que obtuve en Postman):
[ { "location": { "locationId": 1, "cityName: "London", } }, { "location": { "locationId": 2, "cityName": "New York", }, }, ]Entonces, como puede ver, no todos los datos se muestran en una matriz. ¿Tal vez necesito hacerlo a través de la entidad []?
La sintaxis de asignación de desestructuración es una expresión de JavaScript que hace posible descomprimir valores de matrices o propiedades de objetos en distintas variables. entonces, en lugar de desempaquetar el primer objeto de una matriz, simplemente devuelva la matriz en sí.
He agregado un pequeño ejemplo para que entiendas mejor cómo funciona la desestructuración:
[a, b] = [10, 20]; console.log(a); // 10 [first, second] = [10, 20, 30, 40, 50]; console.log(second); // 20 [first, second, ...rest] = [10, 20, 30, 40, 50]; console.log(rest); // [30, 40, 50] En pocas palabras, devuelva locationResponse en lugar del objeto locationResponseRes (esa línea se puede eliminar)