KOA中的async和await

async是‘异步’的简写,

await 可以认为是 ‘ async wait ’的简写。

async可以用于声明一个function是异步的,而await用于等待一个异步方法执行完成

简单理解:

  async    可以让方法变成异步。

async function testAsync(){

    return 'hello async';
}

const result = testAsync();

console.log(result);


//结果会返回一个promise对象  promise{  'hello async' }

  await     等待异步方法执行完成(同步等待)

await 在等待async 方法执行完毕,await必须在async方法中才可以使用。

function getData(){
   return 'zhangsan';
}

async function testAsync(){

    return 'hello async';
}

async function test(){
   const v1 = await getData();
   const v2 = await testAsync();
   
   console.log(v1,v2);
}

test();

async/await 同时使用

async 会将后面的函数 的返回值封装成一个  Promise  对象 

而  await  会等待这个  promise  完成,并将resolve 结果返回

function findData(){
  
   return new Promise(resolve=>{
      setTimeout(()=>{
          resolve('这是数据')
      },1000)
   })

}

async function test(){
    const v = await findData();
    console.log(v);
}

test();

猜你喜欢

转载自blog.csdn.net/weixin_37823121/article/details/82669003