Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

130
Visualizações
Esperando la respuesta de Newman en HTTP Trigger azure

Descripción general: envío de una solicitud a la función azul de node.js. dentro de él, hay un módulo Newman para ejecutar una solicitud de recolección. Newman devuelve el emisor de eventos que debería escuchar, lo que significa que se ejecuta de forma asíncrona.

Objetivo: porque soy nuevo en js y node js. ¿Cómo puedo devolver la respuesta de Newman y luego devolverla como el cuerpo de respuesta de la solicitud HTTP? Sé que await no esperará (en) escuchar porque se ejecuta de forma asíncrona

MySolution Que escribo la respuesta de Newman en un archivo. y haga otra solicitud a la función azul para obtener la respuesta.? hay algo mejor que eso?

 const newman = require('newman'); // require newman in your project // call newman.run to pass `options` object and wait for callback async function run() { await newman.run({ collection: require('./weather.postman_collection.json'), reporters: 'cli' }, function (err) { if (err) { throw err; } console.log('collection run complete!'); }).on('request', function (error, args) { if (error) { console.error(error); } else { // Log the response body console.log(args.response.stream.toString()); return args.response.stream.toString() } }); } module.exports = { run }
 const pip = require('./pipline') module.exports = async function (context, req) { context.log('JavaScript HTTP trigger function processed a request.'); const name = (req.query.appName || (req.body && req.body.name)); const responseMessage = name ? "Hello, " + name + ". This HTTP triggered function executed successfully." : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."; const result = await pip.run(context) context.res = { // status: 200, /* Defaults to 200 */ body: args.response.stream.toString() }; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Leer datos del archivo no es una mala idea. Si estás bien con eso. Pero aquí está la solución alternativa para obtener todos los datos cuando llamamos a la solicitud de Newman.

Este script usa el evento Newman .on('request') , que extraerá esa información. O puede usar .on('beforeDone') Si desea todos los cuerpos de respuesta, es posible que deba modificar esto ligeramente y tal vez usar appendFileSync para capturar todas las respuestas de las solicitudes en la colección.

He modificado tu código por favor echa un vistazo

 const newman = require('newman'); // require newman in your project // call newman.run to pass `options` object and wait for callback async function run() { await newman.run({ collection: require('./weather.postman_collection.json'), reporters: 'cli' }, function (err) { if (err) { throw err; } console.log('collection run complete!'); }).on('request', function (error, args) { if (error) { console.error(error); } else { // Log the response body console.log(args.response.stream.toString()); // return args.response.stream.toString() Cosnt data = JSON.parse(args.response.stream.toString()); return data; } }); } module.exports = { run }

Después de la llamada inicial, solo se han leído los encabezados. Por lo tanto, para analizar el cuerpo como JSON, primero se deben leer los datos del cuerpo del flujo entrante. Y, dado que la lectura del flujo TCP es asíncrona, la operación .json() termina siendo asíncrona.

Nota: el análisis real del propio JSON no es asíncrono. Es solo la recuperación de los datos del flujo entrante que soy asíncrono.

Consulte Enlace 1 y Enlace 2

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda