async、await 的基本用法和作用

async function 是 Promise 的语法糖的封装。返回的都是一个 Promise。

使用async、await有以下基本作用:

1、await 关键字可以“暂停” async function 的执行。

// 下面代码中 finished 将会在500ms之后打印在控制台上
async function (){
	await interview();
	console.log('finished');
}
function interview() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve('success');
    }, 500);
  });
}

2、await 关键字可以以同步的写法获取 Promise 的执行结果。

//方式一 打印出来的是promise,并不能直接打印出来执行结果
let res =  new Promise((resolve, reject) => {
    resolve('success')
});
console.log(res)

//方式二 代码在控制台中会打印出promise的执行结果为“success”
async function (){
  let res = await new Promise((resolve, reject) => {
     resolve('success')
	});
	console.log(res)
 }

3、try-catch 可以获取 await 所得到的错误。

//方式一 得到的错误会被抛出到全局
try {
  new Promise((resolve, reject) => {
      reject('fail');
	});
 } catch (e) {
   console.log("failed");
 }

//方式二 得到的错误可以被准确捕获并处理,不会抛出到全局
async function(){
	 try {
	    await new Promise((resolve, reject) => {
	     reject('fail');
		});
	 } catch (e) {
	  console.log("failed");
	 }
 }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值