事件循环

事件循环 是一个核心位置,用于协调组件生命周期中的所有事件。事件协调通常围绕重绘时机和组件状态更新进行。

事件循环中的一切都表示为 Spring Message。

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