а что такого «анти» в событийных методах?
слоты/сигналы устроены приблизительно также.
и если задуматься, все системы событий — это эвентбаз в том или ином виде
во-первых, события обрабатываются синхронно или асинхронно?
отсылка нового сообщения изнутри хендлера обрабатывается сразу же или ставится в очередь и обрабатывается по завершении текущего сообщения?
при создании новой подписки изнутри текущего хендлера на это же сообщение будет ли обрабатываемое сообщение переслано новому хендлеру?
если из текущего хендлера я отписываю другой хендлер, который должен будет обработать данное событие, будет ли ему послано текущее событие после такой отписки?
как поведет себя EventBus если я два раза вызову subscribe с одиними и теми же параметрами?
при возникновении исключительной ситуации внутри хендлера, будет ли сообщение доставлено другим хендлерам или же цепочка прервется?
можно ли один и тот же обработчик регистрировать для разных событий?
1) События обрабатываются синхронно, но так как внутри kotlin object то это потоко безопасный объект.
2) Обрабатывается сразу же
3) Тут все зависит указали ли вы приоритет вызова коллбэка для подписывамого события. если приоритет не указан то вызовется сначала первая функция слушателя а затем вторая которая находиться внутри первого.
4) Не будет, вы же отписываете слушатель. (опять же вопрос приоритета, если у последней приортиет вызова больше то естественно она вызовется первой)
5) Никак, он запишет только первый вызов, второй проигнорирует
6) К сожалению в настоящий момент я исключения не обрабатываются, спасибо за пояснение. Цепочка прервется.
7) Да можно
KDispatcher — легкий и удобный eventbus для повседневного использования