ES6 async 函数

ES6 async 函数

ES6 async 函数

  • async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。

语法

async function name([param[, param[, ... param]]]) { statements }
  • name: 函数名称。
  • param: 要传递给函数的参数的名称。
  • statements: 函数体语句。
async function func(){
    return "调用一下我";
  }
  
console.log(func())
 
func().then(v=>{
   console.log(v);         
})

promise方法

var abc = new Promise(function(resolve,reject){
	resolve("调用我");
})

abc.zhen((v)=>{
	console.log(v);
})

console.log(abc);
  • async 函数中可能会有 await 表达式,async 函数执行时,如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。
  • await 关键字仅在 async function 中有效。如果在 async function 函数体外使用 await ,你只会得到一个语法错误。
  • Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。
  • 非 Promise 对象:直接返回对应的值。
function testAwait () {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(111);
    }, 1000);
  });
  return setTimeout(() => {
      console.log(222);
    }, 1000); 
}
 
async function helloAsync() {
await testAwait ();
  console.log(333); 
}
helloAsync ();

在这里插入图片描述


  • 失联

最后编辑时间 2023,11,16;8:37

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值