一、描述
promise对象用于表示一个异步操作的最终完成(或失败)及其结果值。
如果我们需要依次执行多个异步操作,回调函数可能会发生函数的“回调地狱”,而promise就是解决这个问题的方法。
promise的优点在于它可以用一种链式结构将多个异步操作串联起来,而回调函数是嵌套,会使代码的可读性大大降低。
二、三种状态
pending:初始状态,既没有被兑现,也没有被拒绝。
resolve:意味着操作成功完成。
rejecte:意味着操作失败。
三、应用
通过.then接收resolve的值,通过.catch接收rejecte的值,通过.finally接收最终值。
1.当isweather为true时返回.then
2.当isweather为false时返回.catch
3.在return处指定返回promise,promise对象如果要走catch,则让它的状态从pending变成rejected
4.promise链式调用
因为没有return所以最后一个是undefined
在倒数第二个.then加上return结果就是三个data了
5.async和await
await后面可以接非promise对象
那么就直接打印跟的东西
await后面接promise