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

176
Views
¿Cómo evitar enviar una solicitud http hasta que se cumpla la periosa?

Tengo un caso que: cuando el usuario cambia la entrada, con cada cambio, tengo que enviar una solicitud HTTP para obtener algunos datos del servidor. cuando obtengo los datos, actualizo mi estado con nuevos datos y eso, por supuesto, afecta la vista. entonces, el problema es que cuando el usuario cambia la entrada muy rápido, las solicitudes no se cumplen respectivamente y esto conduce a una vista incorrecta al final. entonces, no quiero enviar la solicitud hasta que se cumpla la anterior.

 const parallel = (...Promises) => { return Promise.all(Promises); }; export function parentAccHandler(e, inputFiled) { const parentAccValue = e.target.value; const { fields } = this.state; parallel( getUsedRecord(fields), axios.get(`chartofaccounts/nextPK/${parentAccValue}`) ) .then(([usedRecord, nextPkRes]) => { this.setState((state, props) => { const { fields } = state; fields.acc_no.value = nextPkRes.data.next_PK ? nextPkRes.data.next_PK : ""; return { fields: updateOnParentAcc.call(this, fields, usedRecord, "PRESENT"), }; }); }) .catch((err) => { this.setState((state, props) => { let { fields } = state; fields.acc_no.value = ""; fields.parent_acc.prevReqStatus = "FULFILLED"; if (parseInt(parentAccValue) === 0) { fields = updateOnParentAcc.call(this, fields, null, "ZERO"); } else { fields = updateOnParentAcc.call(this, fields); } return { fields: fields, }; }); }); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Bueno, si envuelve los campos de entrada y otras cosas en un <fieldset> y le da el atributo disabled="disabled" , deshabilitará todos los campos.

Cuando realice una solicitud de Axios, agregue el atributo disabled="disabled" al conjunto de campos, y cuando la solicitud sea exitosa, elimine ese atributo.

Hágalo como state y luego simplemente establezca Estado en eso.

Otro método sería mostrar/ocultar superposición/carga para evitar hacer clic en otros campos.

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!