为什么使用Promise,解决了什么问题?
承诺、保证。如果执行的状态发生了改变,一种异步变成的方案,封装了异步操作和成功、失败的回调
以前的异步操作写法:
一、代码的可读性差
二、代码流程很难去控制
解决了回调地狱问题(Callback Hell)
如何使用Promise
.promise的方法:.then(),.catch (),all(),.race ()
异步方式从远程加载多个图片(先后顺序)
定义:调用返回promise对象
async
ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的
语法
1.name: 函数名称。
2.param: 要传递给函数的参数的名称。
3.statements: 函数体语句。
返回值
async 函数返回一个 Promise 对象,可以使用 then 方法添加回调函数
await
await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用
返回值
返回 Promise 对象的处理结果。如果等待的不是 Promise 对象,则返回该值本身
await针对所跟不同表达式的处理方式:
1.Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。
2.非 Promise 对象:直接返回对应的值。
Promise、async、await知识点
1.使用async函数可以让代码简洁很多
2.promise 的创建是同步的
3.在async函数内部使用,将promise变成同步