async是JavaScript中一个关键字,它用于定义一个异步函数。异步函数是一种特殊的函数,它可以在执行期间异步地执行任务,而不会阻塞代码的执行。
使用async关键字定义的函数会返回一个Promise对象。在函数体内部,可以使用await关键字来等待一个Promise对象的解决(resolved)状态,并返回其结果。同时,函数体内部也可以使用其他的异步操作,如异步请求、定时器等。
以下是一个使用async和await的例子:
async function getData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
getData();
在上面的例子中,我们定义了一个异步函数getData()
,它使用了await关键字等待一个异步请求的响应和响应的解析结果。在函数体内部,我们使用了try-catch语句来捕获可能的错误。
需要注意的是,使用了async关键字定义的函数会自动返回一个Promise对象,因此在调用该函数时,我们可以链式调用.then()和.catch()来处理异步操作的结果和错误。
async和await能够让我们以更直观、简洁的方式编写异步代码,避免了回调地狱和使用.then()和.catch()的复杂嵌套。但需要注意的是,由于await关键字只能在异步函数内部使用,因此需要在适当的时候将异步操作封装成异步函数。