任务5-2知识技能2:async用法
2025-01-12 本文已影响0人
吴国友
在Vue中使用async的关键字可以声明一个异步函数,该函数内部可以使用await关键字等待异步操作的完成。
async/await的基本用法
1.定义async函数:在函数前加上async关键字,表明该函数是异步的。例如:
async function fetchData() {
// 异步逻辑...
}
2.使用await等待异步操作:在async函数内部,可以使用await关键字等待异步操作完成。例如:
async function getStockPrice() {
const symbol = await getStockSymbol('GOOG');
const price = await getStockPrice(symbol);
return price;
}
3.返回Promise对象:async函数返回一个Promise对象,可以使用.then()方法添加回调函数处理结果。例如:
getStockPrice().then(result => {
console.log(result);
});
在Vue组件中使用async方法
1.在methods中定义async方法:可以在组件的methods中定义一个async方法,用于处理异步操作。例如:
methods: {
async fetchData() {
try {
let response = await fetch('https://api.example.com/data');
let data = await response.json();
this.data = data;
} catch (error) {
console.error('Error fetching data:', error);
}
}
}
2.在生命周期钩子中使用async方法:可以在组件的生命周期钩子(如mounted)中调用async方法。例如:
mounted() {
this.fetchData();
}
3.处理异步结果和错误:在async方法中,可以使用try-catch结构处理异步操作的结果和错误。例如:
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
if (!response.ok) throw new Error('Failed to fetch data');
return await response.json();
} catch (error) {
console.error('Error fetching data:', error);
}
}