es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Las funciones de Netlify no funcionan con encabezados de axios?

Ok, estoy tratando de hacer una llamada de API usando funciones de Netlify, y si intento llamar a otra API que no requiere encabezados, funciona perfectamente, pero cuando incluyo encabezados, la promesa devuelve un valor ‘indefinido’.

const axios = require("axios");

exports.handler = async function (event, context) {

  const { id } = event.queryStringParameters;
  const url = `https://youtube-mp36.p.rapidapi.com/dl?id=${id}`

  try {
    const {data} = await axios.get(url, {
      headers: {
        "x-rapidapi-host": "youtube-mp36.p.rapidapi.com",
        "x-rapidapi-key": `${process.env.REACT_APP_RAPID_KEY}`
      }
    });
    console.log(data)
    return {
      statusCode: 200,
      body: JSON.stringify(data),
    };
  } catch (err) {
      const {statusCode, statusText, headers, data} = err.response;
    return {
      statusCode: 500,
      body: JSON.stringify({ statusCode, statusText, headers, data }),
    };
  }
};

Este es mi código hasta ahora, cualquier ayuda sería apreciada sinceramente.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el método axios.get esté devolviendo una promesa que no está siendo manejada correctamente en el código. Para resolver esto, intente agregar la palabra clave await antes de la llamada al método axios.get:

    const { data } = await axios.get(url, {
      headers: {
        "x-rapidapi-host": "youtube-mp36.p.rapidapi.com",
        "x-rapidapi-key": `${process.env.REACT_APP_RAPID_KEY}`
      }
    });
    

    Al agregar await, el código esperará a que la promesa se resuelva antes de pasar a la siguiente línea de código.

    Si esto no resuelve el problema, es posible que los encabezados no se estén configurando correctamente o que haya un problema con la API que se está llamando. Verifique los encabezados y la documentación de la API para asegurarse de que sean correctos.

Comments are closed.