asayc和await

tech2024-09-26  22

asayc和await

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

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

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

//基本用法的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()

总结:

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

最新回复(0)