Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

337
Views
Obtener respuesta de la función Async anidada en React

Tengo 3 funciones para iniciar sesión como usuario en mi aplicación web React.

  1. Función C: llamada a la función de inicio de sesión desde la página HTML de inicio de sesión

 const handleLogin = (e) => { e.preventDefault(); // Calling FUNCTION B loginUser({ email, password }).then((value) => console.log('in promise then : ' + value)); console.log('in login page: ' + response); };
  1. Función B: Hacer autorización

 export async function loginUser(loginPayload) { // Calling FUNCTION C AuthDataService.login(loginPayload) .then((response) => { var modifiedResponse = response; console.log('in AuthDataService: ' + JSON.stringify(modifiedResponse)); return modifiedResponse; }); }
  1. Función A: servidor de llamadas

 class AuthDataService { async login(data) { return await http.post('/login', data).then((response) => { return response; }); } }

El problema es que, en la función B, la respuesta se registra correctamente, pero en la función A, la respuesta (valor) no está definida. ¿No debería la función C esperar hasta que finalice la función B? ¿Qué debo cambiar?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

No está devolviendo nada de la función loginUser .

NOTA: No es necesario async si está usando .then

Refactorización que puede hacer como a continuación

 export function loginUser(loginPayload) { // Calling FUNCTION C return AuthDataService.login(loginPayload).then((response) => { var modifiedResponse = response; return data; // not sure from where it's coming }); }

clase: no es necesario si no está haciendo nada con la respuesta.

 login(data) { return http.post('/login', data); }
about 4 years ago · Juan Pablo Isaza Report

0

Primero: en handleLogin no está asignando nada al valor de respuesta. Segundo: en loginUser e inicio de sesión no está devolviendo ningún valor.

puedes probar esto:

 const handleLogin = async (e) => { e.preventDefault(); const response = await loginUser({ email, password }).then((value) => console.log('in promise then : ' + value)); console.log('in login page: ' + response); }; export const loginUser = async (loginPayload) => { return AuthDataService.login(loginPayload).then((response) => JSON.stringify(response)); } class AuthDataService { async login(data) { return await http.post('/login', data) } }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!