promise async await
promise async await
使异步方法像同步方法那样返回值:异步方法不会立即返回最终的值,而是返回一个promise,在未来某个时候把值交给使用者。
promise三种状态
Pending,待定,初始状态,没被兑现也没被拒绝
Fulfilled,已兑现,意味着操作成功完成
rejected,已拒绝,操作失败。
待定状态的promise对象要么会通过一个值被兑现,要么通过一个原因被拒绝。当发生其一情况,会调用promise的then方法,
Promise.resolve返回一个给定值解析后的promise对象,
如果给定值是个promise返回promise
promise.reject返回一个带有拒绝原因的promise对象
promise.all只返回一个promise实例
接受参数:一个promise的utterable类型
promise.any 和promise.all相反
接受一个promise可迭代对象,只要其中一个promise成功就返回那个已经成功的,都不成功就返回失败的promise
Async函数是使用async关键字声明的函数,async是asyncFunction构造函数的实例,并允许使用await关键字,Async和await关键字可以让我们用更简洁的方式写出基于promise的异步行为,而不用刻意的链式调用promise
Await关键字只在async函数内有效,
Async函数会返回一个promise对象,
如果一个async函数的返回值看起来不是promise,那么它将会被隐式地包装在一个promise中
Async函数可能包含0个或多个await表达式,await表达式会暂停整个async函数的执行进程,并让出其控制权,直到当她等待的基于promise的异步操作被兑现或被拒绝后才恢复进程,promise的解决值会被当作该await表达式的返回值
使用async/await关键字就可以在异步代码中使用普通的try/catch代码块