事件循环
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();