此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3spring-doc.cn

EventLoop 事件循环

EventLoop是所有事件都将编排的中心位置 组件的生命周期。通常需要围绕时间进行编排 的重绘和组件状态更新。spring-doc.cn

事件循环中的所有内容都表示为 Spring Message。spring-doc.cn

TerminalUI ui = new TerminalUI(terminal);
EventLoop eventLoop = ui.getEventLoop();
Flux<? extends Message<?>> events = eventLoop.events();
events.subscribe();

选择键事件使用内置过滤方法 keyEvents()。spring-doc.cn

TerminalUI ui = new TerminalUI(terminal);
EventLoop eventLoop = ui.getEventLoop();
eventLoop.keyEvents()
	.doOnNext(event -> {
		// do something with key event
	})
	.subscribe();