Estoy usando un software que me permite leer datos en su servidor usando esta función:
webMI.data.read(ID de nodo, función(e){...})
Pasa un objeto de propiedad actual para cada variable de datos especificada por su ID de nodo a la función de devolución de llamada. Puede pasar un ID de nodo único o una matriz de ID de nodo.
En la devolución de llamada, obtengo el valor que quiero, pero no pude obtenerlo y no quería hacer una devolución de llamada. no entiendo porque
webMI.data.read("AGENT.OBJECTS.motor.isActive",e => e.value) .then(result => { console.log(result) })TypeError no detectado: webMI.data.read(...) no está definido
También traté de ponerlo en una función asíncrona y usando await
async function GetValue(){ var temp = await webMI.data.read("AGENT.OBJECTS.motor.isActive",function(e){return e.value}) return temp }Pero la temperatura siempre devuelve una Promesa con estado = cumplido y valor = indefinido
Mi objetivo es obtener valores de 1 a X de esta manera para hacer una fórmula
Tenga en cuenta que no tengo forma de modificar 'webMI.data.read'
Use el constructor de promesas y resuelva desde dentro de la devolución de llamada
function GetValue(){ return new Promise(resolve => { webMI.data.read("AGENT.OBJECTS.motor.isActive",function(e){resolve(e.value)}) }) }Ahora la función GetValue es asíncrona, ya que devuelve una promesa y se puede esperar.