|
此版本仍在开发中,尚未被认为是稳定版。请使用最新稳定版 Spring Shell 4.0.1! |
事件循环
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();