<!-- async函数在获取后端数据中具有重要作用 -->
<script>
// async函数是JavaScript中用于处理异步操作的一种方法,它能够让异步代码看起来更像是同步代码,提高了可读性和可维护性。
// 关键字async用于声明一个异步函数,而await关键字则用于等待一个Promise的结果,使得你可以像操作同步代码那样等待异步操作完成。
// 下面是一个基本的async函数示例:
async function fetchData() {
try {
// 假设fetchDataFromAPI是一个返回Promise的函数,模拟从API获取数据
const response = await fetch('https://api.example.com/data');
// 用await调用另一个异步函数,写起来和同步代码没啥区别,但执行起来是异步的。
// 自动实现了异步调用,它和下面的Promise代码等价:
// let promise = fetch('https://api.example.com/data');
// promise.then((response) => {
// // 拿到response
// })
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
// 用于获取HTTP响应的状态码
}
const data = await response.json(); // 等待获取JSON格式的数据
console.log('Data received:', data);
return data;
} catch (error) {
console.error('Error fetching data:', error);
throw error; // 重新抛出错误,以便在调用此函数的地方可以处理
}
}
// 调用async函数
fetchData()
.then(data => {
// 在这里处理成功的数据
})
.catch(error => {
// 在这里处理错误
});
// 关键点
// async: 在函数声明前加上async关键字,表明这是一个异步函数,它总是返回一个Promise。
// await: 在async函数内部,可以使用await关键字等待Promise的结果。await使得你可以暂停函数的执行,直到Promise解析(无论解决(resolve)还是拒绝(reject)),然后继续执行函数的剩余部分。
// 错误处理: async函数内部可以使用try...catch语句来捕获异步操作中可能出现的错误,就像处理同步代码的错误一样。
// 通过结合使用async/await,可以编写更加直观、易于理解和维护的异步代码,避免了传统的回调地狱(callback hell),提升了开发效率和代码质量。
</script>