API de JavaScript
7 min
la api de brightsign para javascript le permite interactuar con el firmware del reproductor brightsign para configurar el reproductor, recuperar datos del sistema e interactuar con dispositivos periféricos esta api permite operar una plataforma de señalización digital, incluida la reproducción, programación, diagnósticos y configuración de red, utilizando html/javascript, sin la necesidad de una programación extensa en brightscript las apis de javascript reemplazan los anteriores “objetos brightscript javascript” esta api reemplaza los objetos brightscript javascript docid\ kchqxioymz9gbnwivrkiv esos objetos javascript más antiguos aún se ofrecen por motivos de compatibilidad retroactiva consulte la guía de migración de brightscript javascript docid\ imtbd2lffaoroxiergc2a para ver la asignación entre las apis de brightscript y javascript los objetos javascript están integrados en el entorno de ejecución del navegador solo existen en el espacio de nombres global de javascript y solo pueden utilizarse con rohtmlwidget por lo tanto, la api de javascript utiliza módulos de node funciona perfectamente con rohtmlwidget docid\ g tjkqqhlcft4fw5 z6t0 y ronodejs docid\ dzzlvpeuhbnof9kjbyoze es un superconjunto de los objetos javascript heredados brightsign no ha agregado nuevas funciones a los objetos heredados brightscript javascript durante varios años, y todos nuestros esfuerzos actuales de desarrollo se destinan a las apis de javascript los objetos heredados brightscript javascript existen para admitir a los clientes que los utilizan en software implementado y para mantener ese soporte durante las actualizaciones del so a diferencia de los objetos heredados brightscript javascript, no existe una relación uno a uno entre los objetos brightscript y los objetos de la nueva api de javascript muchas funciones de brightscript (por ejemplo, capacidades de servidor http y almacenamiento de archivos) no se exponen en la nueva api porque javascript y node js® exponen equivalentes estandarizados y populares habilitación de la api de javascript la api de brightsign para javascript se implementa con el módulo node js, que se incluye con el motor chromium en el reproductor para utilizar la api de brightsign con una instancia de rohtmlwidget debe habilitar node js al crear el widget ejemplo r=createobject("rorectangle",0,0,1920,1080) aa=createobject("roassociativearray") aa url="http //test server/index html" aa nodejs enabled=true bb=createobject("roassociativearray") bb port=3000 aa inspector server=bb h=createobject("rohtmlwidget",r,aa) h show() en el ejemplo anterior, node js se habilita incluyendo la entrada nodejs enabled\ true en el arreglo asociativo que se pasa durante la creación de la instancia de rohtmlwidget carga de módulos brightsign la api de brightsign no existe en el espacio de nombres global (window) del entorno de ejecución de javascript en su lugar, al igual que los objetos node js, los módulos brightsign se cargan mediante la función require() (es decir, require("@brightsign/\<module name>") ) los módulos brightsign en realidad forman parte del firmware, pero en términos de uso son idénticos a otros módulos node js ejemplo var networkconfigclass = require("@brightsign/networkconfiguration"); // call the class constructor for the networkconfiguration object var wifi = new networkconfigclass("ethernet"); // create an instance of the networkconfiguration class métodos síncronos y asíncronos los módulos brightsign contienen métodos síncronos y asíncronos los métodos síncronos devuelven un objeto que puede utilizarse inmediatamente, mientras que los métodos asíncronos devuelven un objeto promise, que a su vez devolverá los datos del objeto cuando se resuelva la operación los scripts deben manejar estas devoluciones retrasadas (normalmente utilizando los métodos then() y catch() disponibles en el objeto promise) ejemplo var networkconfigclass = require("@brightsign/networkconfiguration"); var wifi = new networkconfigclass("wlan0"); wifi scan() then( // call the scan() method, which returns a promise 	 function(data){console log(json stringify(data));}) // the resolve/success case, which prints the scan results 	 catch( 	 function(data){console log(json stringify(data));}) // the reject/failure case, which prints the failure reason