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

91
Views
No puedo almacenar la respuesta proviene de la API de pago

He estado implementando un sistema de comercio electrónico pero tengo un problema con la API de pago de iyzipay. Realizo una solicitud exitosa y obtengo una respuesta del servidor, pero no puedo almacenar los datos que provienen del servidor. alguien ayuda?

 let returnedData = {} iyzipay.payment.create(paymentRequest, function (err, result) { if (err) { return next(new CustomError("Ödeme başarısız.", 500)) } return returnedData = result }) //ı can't see data here and return empty {} console.log(returnedData) // but ı can see here when ı wait 1 second setTimeout(() => { console.log(returnedData) }, 1000);
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Como está llamando a una función async , debe await su resultado. Es por eso que su primer registro de la consola no imprime el resultado y después de 1 segundo sí lo hace, porque en ese tiempo (+ el tiempo de ejecución de la pila) está obteniendo el resultado

La función que se puede await ed:

 function createPayment(paymentRequest) { return new Promise((resolve, reject) => { iyzipay.payment.create(paymentRequest, function (err, result) { if (err) reject(new CustomError("Ödeme başarısız.", 500)); resolve(result); }); }); }

En general:

 (async () => { const request = {/* whatever */}; try { const res = await createPayment(request); console.log(res); // Now it's here } catch(e) { console.error(e); } })();

Probablemente esté en una ruta, por lo que el código real sería:

 app.use('/payment', async (req, res, next) => { try { const result = await createPayment(req); console.log(result); // Now it's here res.end(); } catch(e) { next(e); } })
about 4 years ago · Juan Pablo Isaza Report

0

Se llama a su primera consola antes de que se complete la solicitud. Cuando se espera 1 segundo, la solicitud se completa y la respuesta se almacena en la variable returnData. Entonces, para su requisito, intente usar la promesa o llame a una función para almacenar la respuesta de la función de creación de pago con la respuesta como parámetro.

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!