En VueJS, tengo un controlador de cambios en un campo de entrada, como se muestra a continuación:
inputHandler(url, params){ const p = new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open('POST', url, true); ... ... }); p.then(res => this.reactiveProperty = res); }Entonces, obtengo respuesta y la pongo en una variable reactiva. Envío solicitudes en el orden 1, 2, 3, 4, pero recibo respuestas en el orden 4, 1, 3, 2 (por ejemplo).
Esta es una razón por la que la variable obtiene un valor incorrecto. ¿Cómo podría evitarlo?
Puede usar async, esperar. Esperará la primera promesa y luego llegará a la segunda, segunda y luego a la tercera... etc. También como dijo @TJ Crowder, deberías usar la API de búsqueda en su lugar.