La función de Azure nodejs devuelve 200 OK con respuesta vacía

Tarek

Estoy usando una función de Azure para trabajar, todo está bien, excepto que no puedo obtener el cuerpo de respuesta del resultado:

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');    
    const fetch = require('node-fetch');
    const myURL= (req.query.apiURL|| (req.body && req.body.apiURL));

    fetch(myURL)
        .then(data => {
            if (!data.ok) {
                throw new Error('some error occurred');
            }

            return data;
        })
        .then(data => data.text())
        .then(text =>
            context.res = {
                body: text //here is the problem
            });      
}

function.json

{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
}

Reparar

La respuesta vacía estaba relacionada con el uso de un asyncmétodo sin, awaitpor lo que simplemente elimine el async o use await con async.

Muhamed Salih

Async / await mejorado, versión de @BowmanZhu

    const fetch = require('node-fetch');
    module.exports = async function (context, req) {
      
     try{  
      context.log('JavaScript HTTP trigger function processed a request.');    
      const myURL= (req.query.apiURL || (req.body && req.body.apiURL)),
            fetchResp = await fetch(myURL),
            resBody =fetchResp.text();
      
      /** TODO LOGIC **/

      context.res = {
                        status:200,
                        body: resBody 
                     };
    
     }catch(err){
       context.res = {
                        status:500,
                        body: err.message
                     };
     }
    }

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿La función de respuesta de Laravel solo devuelve 200?

La solicitud de publicación devuelve una respuesta de cuerpo vacío (200-none) Python

El servidor devuelve aleatoriamente una respuesta vacía con el código de estado 200

La modificación devuelve un cuerpo de respuesta vacío

Mockmvc devuelve un cuerpo de respuesta vacío incluso si el estado de la respuesta es 200

La función Netlify NodeJS siempre devuelve 'La respuesta a la solicitud de verificación previa no pasa'

La respuesta de musixmatch api devuelve 200 pero devuelve json con valores None

La función httptrigger de Azure no devuelve la respuesta de la solicitud de SQL Server

nginx devuelve 200 pero respuesta vacía

La publicación http de Angular 2 devuelve 200 pero no se devuelve ninguna respuesta

La Solicitud GET de Spring Boot proporciona un estado 200 OK, pero Postman devuelve "ø" como cuerpo de respuesta

Devuelve ArrayList <String> en la entidad de respuesta con estado 200

La respuesta de solicitud POST de la API de recuperación devuelve texto vacío

La llamada Ajax devuelve un error con el estado 200 y el texto de estado OK

La solicitud de rango de actualización devuelve 200 OK pero no actualiza la hoja de Excel

Obtener recomendación de la API de LinkedIn devuelve un mapa vacío [:] como respuesta

Obtener recomendación de la API de LinkedIn devuelve un mapa vacío [:] como respuesta

La solicitud POST de actualización usando @Body devuelve un cuerpo de respuesta vacío

La solicitud POST de actualización usando @Body devuelve un cuerpo de respuesta vacío

Devuelve la respuesta JSON de la función Python

La respuesta de reacondicionamiento devuelve "NumberFormatexception: Cadena vacía"

c ++ La función de plantilla vacía devuelve un puntero de función no vacío

Actualización 2: el cuerpo de la respuesta devuelve nulo (el código de respuesta es 200)

Actualización 2: el cuerpo de la respuesta devuelve nulo (el código de respuesta es 200)

La función de repositorio devuelve una lista vacía

La función de Python devuelve una lista vacía

La función de recursividad (subconjunto) devuelve vacío (python)

La ejecución de una consulta en una tabla de almacenamiento de Azure devuelve 403 AuthenticationFailed, pero la devolución de todas las entradas en una tabla devuelve 200 OK

La API Springboot devuelve una respuesta vacía