promise
https://www.cnblogs.com/ming1025/p/13092502.html
async和await
https://blog.csdn.net/happy81997/article/details/106012396
Promise 对象, async 函数
1-async/await是基于Promise实现的,所以async/await与Promise一样,不会阻塞代码执行.
但是promise函数的返回值需要在.then和.catch中处理,async就不需要.then来处理返回值.
2-函数相互调用时,promise会引起回调地狱问题,async函数中的await可以使异步代码看起来像同步代码,改变函数写法解决回调地狱
3为了实现某些逻辑经常会写出层层嵌套的回调函数,如果嵌套过多,会极大影响代码可读性和逻辑,这种情况也被成为回调地狱。
比如说你要把一个函数 A 作为回调函数,但是该函数又接受一个函数 B 作为参数,甚至 B 还接受 C 作为参数使用,就这样层层嵌套,人称之为回调地狱.代码阅读性非常差,async和await就能解决这个问题