1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xnat-enet

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

order22() {log.info("异步 order22");}

@EL(name = "order", async = true) void order222() {log.info("异步 order222");}

@EL(name = "order", async = true, order = 1f) void order3() {log.info("异步 order3");}

> Поэтому будет сначала выполнен order1, после завершения которого параллельно будут выполнены (order2,order22,order22), а после их завершения будет выполнен order3

## Ограничение количества выполнений
```java
@EL(name = "once", limit = 1, async = true)
void once() { log.info("Выполняется только один раз"); }
ep.fire("once", ec -> {
    log.info("once: success: " + ec.isSuccess() + ", isNoListener: " + ec.isNoListener());
});
ep.fire("once", ec -> {
    log.info("once: success: " + ec.isSuccess() + ", isNoListener: " + ec.isNoListener());
});

Режим отладки

Подробная информация о событиях до и после выполнения печати в журнале

// Метод 1
ep.fireDebug("hello", "параметр 1");
// Метод 2
ep.addTrackEvent("hello");

Контекст выполнения события

@EL(name = "ec")
String ec(EC ec, String p1) {
    return p1 + ec.getAttr("key1");
}

// При каждом запуске события будет создаваться объект EC (контекст выполнения события)
ep.fire("ec"); // Автоматическое создание объекта EC
ep.fire(new EC("ec").args("xx").attr("key1", "oo")); // Ручное создание объекта EC и установка свойств. Возвращаемое значение: xxoo

Пользовательский временный слушатель

new EP().fire(new EC("xxx"), new Listener.RunnableListener(() -> {
    log.info("========RunnableListener");
}) {
    @Override
    protected void doInvoke(EC ec, BiConsumer<Object, Throwable> resultAcceptor) {
        super.doInvoke(ec, resultAcceptor); // Можно запустить асинхронно
        log.info("=========doInvoke");
    }
});

Удалённые события

TODO

  • Поддерживает ли одно и то же имя события несколько методов перегрузки?

Вклад участников

xnatural@msn.cn

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сяо Цин Синь — это реактивный инструмент, управляемый событиями. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xnat-enet.git
git@api.gitlife.ru:oschina-mirror/xnat-enet.git
oschina-mirror
xnat-enet
xnat-enet
master