事件迴圈

事件迴圈 是一個核心位置,用於協調元件生命週期中的所有事件。事件協調通常圍繞重繪時機和元件狀態更新進行。

事件迴圈中的一切都表示為 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();