首先,Promise链式调用和async/await都是用来解决异步调用层层嵌套的问题。
promise解决了回调地狱的问题,把异步任务完成后的处理函数换个位置放:传给then方法,并支持链式调用,避免层层回调。用catch方法捕获错误。
await使得异步代码更像是同步代码,对串行的异步调用写起来更自然。await后面跟一个值或promise对象,如果是一个值,就直接返回;如果是一个promise对象,则接收promise对象成功后的返回值;或者再await后面调用一个async函数。
await返回值,只关注成功的情况,所以一般需要try/catch来捕获异常。
改写成async/await模式,用try/catch捕获异常