promise
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise
https://www.cnblogs.com/samve/p/10703953.html
await
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/await
observable
https://rxjs-cn.github.io/learn-rxjs-operators/operators/utility/topromise.html
https://cn.rx.js.org/class/es6/Observable.js~Observable.html#instance-method-toPromise