roNodeJsEvent

If an roMessagePort is attached to an roNodeJs, it will receive roNodeJsEvent objects when something happens to the parent roNodeJs instance.

ifUserData

SetUserData(user_data As Object)
Sets the user data that will be returned when events are raised.

GetUserData() As Object
Returns the user data that has previously been set via SetUserData(). It will return Invalid if no data has been set.

ifNodeJsEvent

GetData() As roAssociativeArray
Returns the event data as an associative array with the following key/value pairs:

Example

The following event loop waits for a nodeJs event and reports the events:

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

Â