Skip to content

SimpleEventbus

Richard Paco edited this page Jun 29, 2018 · 1 revision
//订阅 支持infix写法
//订阅里只能订阅一种类型,相同类型暂时不支持,如果有相同类型则会覆盖上一个
subscriptions {
    //订阅指定类型
    subscribe<Type>().observe { ... }
    //订阅粘性事件
    subscribe<Type>().sticky { ... }
    //线程操作
    //Schedulers.ui / async / immediate
    subscribe<Type>(Schedulers.ui).observe { ... }
}

eg :
subscriptions {
    subscribe<UserInfo>().observe { //TODO }
    subscribe<ModifyEvent>().sticky { //TODO }
    subscribe<JumpEvent>(Schedulers.async).observe { //TODO }
}


value.post() //发送普通事件
value.postSticky() //发送粘性事件

eg : 
val info = UserInfo().apply {
    username = "user"
    age = 11
}
info.post()
info.postSticky()

info.doAsync {
    post()
    ...
}

unsubscribe() //取消订阅 必须要加
Clone this wiki locally