用 async/await 来处理异步
https://www.cnblogs.com/yuanyingke/p/10280681.html
Promise
https://www.jianshu.com/p/1b63a13c2701
理解JavaScript的async/await
https://segmentfault.com/a/1190000007535316
Promise.resolve(x)可以看作是new Promise(resolve => resolve(x))的简写,可以用于快速封装字面量对象或其他对象,将其封装成Promise实例