修改的异步代码