AI智能
改变未来

async / await的介绍哦!

  1. asayc的用法,它作为一个关键字放到函数前面,这样普通函数就变为了异步函数
  2. 异步async函数调用,跟普通函数的使用方式一样
  3. 异步async函数返回一个promise对象
  4. async函数配合await关键字使用(阻塞代码往下执行)
    是异步方法,但是阻塞式的

使用场景
async主要来处理异步的操作,
需求:执行第一步,将执行第一步的结果返回给第二步使用。在ajax中先拿到一个接口的返回数据,后使用第一部返回的数据执行第二步操作的接口调用,达到异步操作。


模拟出一个摇色子的异步操作,先通过一个方法三秒之后拿到一个筛子数,第二步进行输出

[code]//基本用法的async函数let asyncFun = async function(){return 1}console.log(asyncFun())//会返回一个promise对象//使用场景//摇色子方法function dice(){return new Promise((resolve,reject)=>{let sino = parseInt(Math.random()*6+1)  //生成一个1~6之间的随机小数setTimeout(()=>{resolve(sino)},2000)})}//异步方法async function text(){let n= await dice()//await 关键字后面调用摇色子方法执行完毕之后,才进行变量赋值console.log(\"摇出来\"+n)  //最后打印出摇出来的数}text()

总结:

async 函数返回一个Promise 对象,当函数执行的时候,一旦遇到await就会先返回,等到触发的异步操作完成,再接着执行函数体内后面的语句。
await 关键字必须位于async函数内部!
await关键字后面需要一个promise对象(不是的话就调用resolve转换它)!
await 关键字的返回结果就是七后面Promise执行的结果,可能是resolved或者rejected的值!

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » async / await的介绍哦!