async 声明异步函数
async function fetchData() {
// 返回值会被封装成一个 resolved 状态的 Promise
return 'data';
}
#使用 await 等待 异步的结果(Promise)
async function fetchData() {
let data = await fetch('https://example.com/data'); // 等待 fetch Promise 解决
let jsonData = await data.json(); // 等待 .json() Promise 解决
return jsonData; // 返回 jsonData
}
#利用 try…catch 轻松 处理 错误信息
async function fetchData() {
try {
let response = await fetch('https://example.com/data');
let data = await response.json();
return data;
} catch (error) {
console.error('Fetching data failed:', error);
// 处理错误或重新抛出
}
}
#结合Promise.all 轻松应对复杂场景-(并行执行Promise)
async function fetchMultipleData() {
try {
let [data1, data2] = await Promise.all([
fetch('https://example.com/data1').then(response => response.json()),
fetch('https://example.com/data2').then(response => response.json())
]);
console.log(data1, data2);
} catch (error) {
console.error('Fetching data failed:', error);
}
}