promise有三种状态两种模式;
三种状态分别为pending(进行中)/fulfilled(成功的)/rejected(失败的);
两种模式是从pending到fulfilled和pending到rejected。
resolve让状态从pending变为fulfilled
resolve让状态从pending变为rejected
then方法接受两个参数,第一个参数是成功时的回调,在promise由“等待”态转换到“完成”态时调用,另一个是失败时的回调,在promise由“等待”态转换到“拒绝”态时调用。
结果
回调地狱
使用promise解决回调地狱
then、catch 如何改变 Promise 状态
resolve让状态从pending变为fulfilled,fulfilled状态的promise会执行then里面的回调函数
throw 抛出异常,promise状态变为rejected,执行catch对应的回调
resolve让状态从pending变为rejected,,rejected状态的promise会执行catch里面的回调函数
catch正常返回的时候,promise的状态是fulfilled
catch里抛出一个报错的时候,promise的状态是rejected