// 一个获取并显示用户的函数
async function fetchUsers() {
const userList = document.querySelector('#user-list');
try {
// 1. "await"服务器的响应
const response = await fetch('https://jsonplaceholder.typicode.com/users');
// 2. 检查响应是否成功(状态码200-299)
if (!response.ok) {
// 如果不成功,抛出错误被catch块捕获
throw new Error(`网络响应不正常: ${response.statusText}`);
}
// 3. 响应体是一个流。我们需要将其解析为JSON。
// 这也是一个异步操作,所以我们需要"await"它。
const users = await response.json();
// 4. 现在我们有了数据!我们可以使用第2部分的DOM技能。
users.forEach(user => {
const li = document.createElement('li');
li.textContent = user.name;
userList.append(li);
});
} catch (error) {
// 如果try块中任何地方出错,都会被这里捕获。
console.error('获取错误:', error);
userList.textContent = '加载用户失败。';
}
}
// 调用函数
fetchUsers();