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

95
Views
Cómo realizar varias búsquedas en un único punto de conexión cuando la anterior se ha completado

Estoy tratando de enviar múltiples PUT al mismo punto final, pero necesito hacerlo uno a la vez DESPUÉS de que se complete el anterior.

Mis datos son una matriz que mapeo y envío cada uno, podría ser solo 1 o 100 ... El punto final es una función lambda pero no puede manejar el envío a todos a la vez ...

¿Alguien puede sugerir una manera de hacer esto?

 function sendData(data: any) { type NewContact = { contact_type: number; contact_code: []; contact_type_desc: string; changed_by: string; }; console.log('Array: ', data); const headers = { "x-api-key": env['x-api-key'], }; const endpoint = env['contact_types'](studentId); const rst = Promise.all( data.map((newContactType: NewContact) => { return fetch(endpoint, { method: 'PUT', headers: headers, body: JSON.stringify(newContactType) }) .then((response) => { console.log('Respose: ', response); if (response.ok) { return response.json(); } else { throw new Error('Network response was not ok.'); } }) .catch((error) => { console.log('There has been a problem with your fetch operation: ' + error.message); }); })); }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede usar un ciclo para revisar todas las solicitudes con async/await para esperar una respuesta en lugar de Promise.all

 async function sendData(data: any) { type NewContact = { contact_type: number; contact_code: []; contact_type_desc: string; changed_by: string; }; console.log('Array: ', data); const headers = { "x-api-key": env['x-api-key'], }; const endpoint = env['contact_types'](studentId); //this function will return a promise const fetchDataByContactType = (newContactType: NewContact) => { return fetch(endpoint, { method: 'PUT', headers: headers, body: JSON.stringify(newContactType) }) .then((response) => { console.log('Respose: ', response); if (response.ok) { return response.json(); } else { throw new Error('Network response was not ok.'); } }) .catch((error) => { console.log('There has been a problem with your fetch operation: ' + error.message); }) } const rst = [] for(const newContactType of data) { //wait for response from promise const response = await fetchDataByContactType(newContactType) rst.push(response) //push your response to the result list `rst` //TODO: You can do anything else with your response here } }
about 4 years ago · Juan Pablo Isaza Report

0

En lugar de crear una matriz de promesas, es posible que desee crear una matriz de funciones que devuelvan promesas para ejecutarlas secuencialmente. ¡Aquí hay una solución realmente genial y limpia que podría ayudar! https://stackoverflow.com/a/43082995/8222441

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!