我正在尝试在 Scala.js 项目中创建一个新的 Vertx Eventbus 实例。无论我做什么,尝试在 onopen 函数中注册处理程序时都会收到 INVALID_STATE_ERR 。
似乎 onopen 被过早地解雇了。
示例代码: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
}
然后,从我的应用程序中,我称之为:
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)
})
}