roNodeJsEvent
3 min
si se adjunta un romessageport a un ronodejs , recibirá objetos ronodejsevent cuando ocurra algo en la instancia principal de ronodejs ifuserdata setuserdata(user data as object) establece los datos de usuario que se devolverán cuando se generen eventos getuserdata() as object devuelve los datos de usuario que se configuraron previamente mediante setuserdata() devolverá inválido si no se ha establecido ningún dato ifnodejsevent getdata() as roassociativearray devuelve los datos del evento como un arreglo asociativo con los siguientes pares clave/valor razón \<font color="#6b21a8">string\</font> la causa del evento, que puede ser una de las siguientes salida del proceso la instancia de nodejs se ha cerrado mensaje la instancia de nodejs ha enviado un mensaje exit code \<font color="#6b21a8">number\</font> este campo solo está presente si el valor del campo razón es salida del proceso devolverá el código de salida del proceso node js®, como se describe en https //nodejs org/api/process html#process exit codes https //nodejs org/api/process html#process exit codes el campo exit code solo está definido a partir de os 8 2 tenga en cuenta que el script de node js también podría utilizar estos códigos para sus propios fines mensaje \<font color="#6b21a8">string\</font> si el valor del campo razón es mensaje , este campo devuelve el contenido del mensaje ejemplo el siguiente bucle de eventos espera un evento de nodejs e informa los eventos while true ev = wait(0, gaa mp) print "=== bs received event ";type(ev) if type(ev) = "ronodejsevent" then eventdata = ev getdata() if type(eventdata) = "roassociativearray" and type(eventdata reason) = "rostring" then if eventdata reason = "process exit" then print "=== bs node js instance exited with code " ; eventdata exit code else if eventdata reason = "message" then print "=== bs received message "; eventdata message ' to use this msgport postbsmessage({text "my message"}); else print "======= unhandled nodejs event =========" print eventdata reason endif else print "=== bs unknown eventdata "; type(eventdata) endif endif endwhile