📅  最后修改于: 2023-12-03 15:13:34.054000             🧑  作者: Mango
在 JavaScript 中,await
关键字用于暂停当前 async
函数的执行,等待一个 Promise 对象的解决。但是,需要注意的是,await
只能在异步函数中使用。
异步函数是一个特殊的函数,它能够让我们以异步的方式编写 JavaScript 代码。异步函数用 async
关键字来声明,并且在函数中可以使用 await
关键字。
下面是一个简单的异步函数示例:
async function myAsyncFunction() {
const result = await fetch('https://api.example.com/data');
console.log(result);
}
在上面的代码示例中,myAsyncFunction()
是一个异步函数。它使用了 await
关键字来暂停函数的执行,等待 fetch()
方法返回一个 Promise 对象的解决。
JavaScript 中的所有代码都是在单线程环境下运行的。这意味着任何一个 JavaScript 函数都不能阻塞主线程的执行,否则会影响其他代码的执行。
当我们使用 await
关键字时,JavaScript 引擎会通过 Event Loop 机制,暂停当前函数的执行,并执行其他任务。等待 await
后面的 Promise 对象被解决后,再恢复当前函数的执行。
因此,如果我们在非异步函数中使用 await
,那么当前函数无法暂停执行,从而会阻塞主线程的执行。
当异步函数中出现错误时,可以使用 try...catch
语句来捕获错误。下面是一个示例:
async function myAsyncFunction() {
try {
const result = await fetch('https://api.example.com/data');
console.log(result);
} catch (error) {
console.error(error);
}
}
在上面的代码示例中,如果 fetch()
函数返回一个错误,则会被捕获,并输出到控制台。
await
关键字只能在异步函数中使用。async
关键字来声明。try...catch
语句来捕获。