async和await是ES2017中引入的新的异步编程方式,它们可以让异步代码的写法更加简洁、易读,并且使得异步代码可以像同步代码一样的写法来处理。

async和await关键字通常用于处理异步操作的返回值,例如Promise、setTimeout等等。下面是它们的用法:

1. async关键字

async关键字用于声明一个异步函数,这个函数返回一个Promise对象。在函数内部可以使用await关键字来等待异步操作完成。

async function getData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}

在上面的代码中,我们声明了一个异步函数`getData()`,使用await关键字等待了fetch方法返回的Promise对象,然后使用await关键字等待了response.json()方法返回的Promise对象,最后返回了获取到的数据。

2. await关键字

await关键字用于等待一个异步操作完成,它只能在异步函数中使用。当执行到await关键字时,程序会暂停执行,直到异步操作完成并返回结果。

async function getData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  console.log(data);
}

在上面的代码中,当执行到第一行的await关键字时,程序会暂停执行,直到fetch方法返回的Promise对象被解决,并返回一个response对象。然后再执行第二行的await关键字,等待response.json()方法返回的Promise对象被解决,并返回一个包含解决值的data对象。最后打印出获取到的数据。

需要注意的是,在使用await关键字时,其后面必须是一个返回Promise对象的异步操作,否则就会抛出错误。同时,在使用await关键字时,建议将其放在try-catch语句中进行错误处理,以便捕获可能发生的错误。

Logo

鸿蒙生态一站式服务平台。

更多推荐