Estoy actualizando mis funciones de Firebase para obtener datos de la API de la plataforma de MX. Solía obtener datos a través de la API atrium de MX. Dado que ahora estoy tomando un tipo AxiosResponse, necesito actualizar la función genérica utilizada para solicitar/procesar los datos. Además, no conozco bien TypeScript/JavaScript y estoy luchando con el formato correcto. ¡Realmente aprecio la ayuda!
Error: 'El argumento de tipo 'AxiosResponse' no se puede asignar al parámetro de tipo '{respuesta: AxiosResponse<any, any>; cuerpo: desconocido; }'. Al tipo 'AxiosResponse' le faltan las siguientes propiedades del tipo '{ respuesta: AxiosResponse<any, any>; cuerpo: desconocido; }': respuesta, cuerpo '
Este es mi intento de actualizar la función de solicitud genérica pero está causando el error:
const getDataFromMXResponse = <T>({ response, body, }: { response: AxiosResponse; body: T; }): T => { const { statusCode = 400 } = response.status; if (200 <= statusCode && statusCode <= 299) { body = response.data; return body; } else { throw new Error(response.statusText || ""); } };Esta línea de código está llamando a la función real:
const listAccountsResponse = await this.mx.listUserAccounts( mxUserGuid, 1, 100 ); const accounts = getDataFromMXResponse(listAccountsResponse).accounts || [];Esta es la función de solicitud genérica original:
const getDataFromMXResponse = <T>({ response, body, }: { response: IncomingMessage; body: T; }): T => { const { statusCode = 400 } = response; if (200 <= statusCode && statusCode <= 299) { return body; } else { throw new Error(response.statusMessage || ""); } };