Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

140
Vistas
¿Cómo devuelvo la respuesta de un cy.request a través de una función?

Estoy tratando de pasar el resultado de una solicitud de API usando la siguiente función:

 Add(someName) { cy.request ({ method: 'POST', url: someURL, body: { name: someName } }).then(function(response){ return response }) }

Sin embargo, cuando trato de llamar a esta función, no me da el contenido de la respuesta (me da Indefinido). Pensé que esto probablemente tiene algo que ver con la asincronía (si esa es una palabra), o el alcance del objeto y, por lo tanto, intenté crear un alias en la respuesta o definir un objeto fuera de la función (luego asignar la respuesta a ese objeto), sin alguna suerte.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Solo necesita un return en la llamada cy.request() .

 Add(someName) { return cy.request ({...}) .then(function(response) { return response.body // maps the response to it's body }) // so return value of function is response.body }

El tipo de valor devuelto es un Chainer (el mismo tipo que todos los comandos de Cypress), por lo que debe usar un .then() en él

 myPO.Add('myName').then(body => ...

No necesita .then() después de cy.request()

Si quieres la respuesta completa,

 Add(someName) { return cy.request ({...}) // don't need a .then() after this // to return full response }

Cómo esperar el resultado

Si desea esperar el resultado, use un Cypress.Promise como se muestra aquí

 Add(someName) { return new Cypress.Promise((resolve, reject) => { cy.request ({...}) .then(response => resolve(response)) }) }

esperando

 const response = await myPO.Add('myName')
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debería intentar devolver algo en su función:

 Add(someName) { return cy.request ({ method: 'POST', url: someURL, body: { name: someName } }).then(function(response){ return response }) }

Y luego obtener el valor devuelto:

 Add('val').then((data) => {console.log(data)})
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda