es6中的三种异步解决方案