I'm trying to create a new Vertx Eventbus instance in Scala.js project. No matter what I do, I get INVALID_STATE_ERR when trying to register handler in onopen function.
It seems like the onopen is being fired prematurely.
Example code: Eventbus.scala:
@js.native
@JSImport("vertx3-eventbus-client",JSImport.Default)
class Eventbus(url:String) extends js.Any{
def registerHandler(address:String,callback:
(js.Dynamic,js.Dynamic)=>Unit): Nothing =js.native
var onopen:Unit=js.native
}
Then, from my app, I call it:
val eb = new Eventbus("http://localhost:8080/eventbus")
eb.onopen={
println("opening")
eb.registerHandler("activity-updates", (err, mess) => {
val message = mess.body.toString
println(message)
})
}