Estoy haciendo una solicitud GET a la API usando XMLHttpRequests. La API toma un valor "uuid" indicado por la variable "a" aquí como un parámetro, usa ese valor para el procesamiento y se supone que escupe cierta información que estoy tratando de imprimir en la consola.
Sin embargo, el problema con el que me encuentro es que, cada vez que la API recibe con éxito el valor uuid , devuelve un mensaje donde se Initiated newresponse.response.status . Sin embargo, quiero esperar hasta que newresponse.response.status sea Success (esto generalmente toma un poco como 3-4 segundos más).
El código original se muestra a continuación:
function getrequestresults(status, response) { let parse = JSON.parse(response); let a = parse.uuid; let newrequest = new XMLHttpRequest(); newrequest.open('GET', "http://localhost:5000/api/v1/dags/results" + "?" + "uuid" + "=" + a, true); newrequest.onload = function() { //console.log(newrequest.status); console.log(newrequest.response); }; newrequest.send(); }Uno de los intentos que hice para arreglar esto fue el siguiente:
function getrequestresults(status, response) { let parse = JSON.parse(response); let a = parse.uuid; let newrequest = new XMLHttpRequest(); newrequest.open('GET', "http://localhost:5000/api/v1/dags/results" + "?" + "uuid" + "=" + a, true); newrequest.onload = function() { while (newrequest.response.status != "Success") { //the following line was just to see what's going on, idea was to keep looping till, desired status is reached console.log(newrequest.response); } //console.log(newrequest.status); console.log(newrequest.response); }; newrequest.send(); } Sin embargo, esto no funcionó, ya que parece que la función "onload" solo se ejecuta una vez, mientras que necesito que se ejecute varias veces hasta que newrequest.response.status sea Success .
Soy bastante nuevo en el envío de XMLHttpRequests y agradecería algo de ayuda. Gracias.