开始重构事件循环代码