代码模块化
不过分成好几部分后，异步好棘手，暂时不管异步了。