Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
Cómo detener la función hasta que finalice la función invocada

Tengo algunos controladores AngularJS que crean gráficos a partir de datos de una base de datos. Antes de que se procesen los datos y se represente el gráfico, tengo que invocar la función GetSensor(x,y) , esta función devuelve un Id para solicitar los datos correctos a la base de datos.

Mi problema es que GetSensor(x,y) devuelve los datos demasiado tarde. La función principal es hacer la solicitud con la promesa pendiente.

He usado .then() pero todavía no espero a que se resuelva la promesa.

ObtenerSensor():

 async function getSensores(Idinfraestrucura, TipoSensorId) { console.log("whassup") var xmlhttp = new XMLHttpRequest(); var url = "http://MYIP:PORT/api/sensores/" + TipoSensorId + "/" + Idinfraestrucura + ""; xmlhttp.open("GET", url, true); xmlhttp.send(); xmlhttp.onreadystatechange = function () { var data = JSON.parse(this.responseText) console.log(data[0].SigfoxDevice) return data[0].SigfoxDevice; } }

Controlador gráfico():

 app.controller('HumedadController', ['$scope', function ($scope) { let sensor = getSensores(9, 1) .then(function (response) { console.log(sensor) var xmlhttp = new XMLHttpRequest(); var url = "http://My.YIP:PORT/api/grafico/datos/ValorMedicionHumedad/MedicionAire/" + sensor + ""; xmlhttp.open("GET", url, true); xmlhttp.send(); xmlhttp.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { var dataURL = JSON.parse(this.responseText); var dataPoints = dataURL.map(function (elemF) { return elemF.map(function (o) { return { fecha: o.fechaUnix, Y: o.ValorMedicionHumedad } }) }); . . .Rest of the code is .render and data transformation

Como tenía prisa y necesitaba que esto funcionara, no tuve tiempo de profundizar en AngularJS y tenía que hacerlo de esta manera, así que simplemente creé los controladores para los gráficos. ¿Puedo tener getSensores() en, por ejemplo, un .service o algo así?

Lo siento, si este es un problema básico que podría resolverse con una comprensión más profunda de AngularJS.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda