async和await是ES2017(也称为ES8)引入的两个关键字,用于处理JavaScript异步编程。
async是用于标识一个函数为异步函数,当函数执行时,如果有await关键字,async函数会暂停执行,等待await后面的异步操作完成后才会继续执行。
await是用于等待一个异步操作完成并返回结果,可以在async函数内部使用。当执行到await关键字时,如果await后面的异步操作未完成,该函数会被暂停执行,直到异步操作完成并返回结果后,函数才会继续执行。
下面是一个使用async和await的示例:
async function fetchUserInfo() { try { const response = await fetch('https://api.example.com/user'); const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } }
在上面的示例中,我们定义了一个名为fetchUserInfo的异步函数,其中使用了await关键字等待fetch请求的完成并返回结果。然后使用try-catch语句捕获可能的错误,并输出结果或错误信息。