EventLoop

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();