【发布时间】:2015-09-12 10:16:35
【问题描述】:
假设我有两个事件:
class Event1 {
}
class Event2 {
String returnValue;
}
@Subscribe
void listenTo(Event1 ev1) {
Event2 ev2=new Event2();
bus.post(ev2);
//ev2.returnValue here is null
}
@Subscribe
void listenTo(Event2 ev) {
ev2.returnValue="returnValue";
}
当我打电话时
bus.post(new Event1());
处理程序
void listenTo(Event2 ev) { ... }
在处理程序执行后执行
void listenTo(Event1 ev1) { ... }
完成了。这是因为 eventBus 处理队列中的事件。结果是我无法计算 ev2.returnValue - 它为空。当bus.post(ev2); 我想保持代码松散耦合时,如何以优雅的方式修改此代码以直接执行第二个处理程序。
【问题讨论】: