重构异步调用