事件迴圈
EventLoop 是一箇中心位置,所有事件都將在元件的生命週期內進行編排。編排通常需要在重繪和元件狀態更新的時間點進行。
事件迴圈中的所有內容都表示為 Spring 訊息。
TerminalUI ui = new TerminalUI(terminal);
EventLoop eventLoop = ui.getEventLoop();
Flux<? extends Message<?>> events = eventLoop.events();
events.subscribe();
選擇按鍵事件使用內建的過濾方法 keyEvents()。
TerminalUI ui = new TerminalUI(terminal);
EventLoop eventLoop = ui.getEventLoop();
eventLoop.keyEvents()
.doOnNext(event -> {
// do something with key event
})
.subscribe();