Vue.js 中使用 async/await 控制方法在异步接口后执行
在 Vue.js 中,你可以使用 'async/await' 来控制方法在某个异步接口之后实现。以下是一个示例:
export default {
data() {
return {
isLoading: false,
responseData: null
}
},
methods: {
async fetchData() {
try {
this.isLoading = true;
// 发起异步请求
const response = await axios.get('https://api.example.com/data');
this.responseData = response.data;
// 在异步请求完成后执行其他操作
this.doSomethingAfterFetch();
} catch (error) {
console.error(error);
} finally {
this.isLoading = false;
}
},
doSomethingAfterFetch() {
// 在异步请求完成后执行的操作
console.log('异步请求完成');
}
}
}
在上述示例中,'fetchData' 方法使用 'async/await' 来处理异步请求。首先,它设置 'isLoading' 为 'true',以显示加载状态。然后,它使用 'axios' 发送异步请求并等待响应返回。一旦响应返回,它将响应数据存储在 'responseData' 中,并调用 'doSomethingAfterFetch' 方法执行其他操作。最后,不论请求成功还是失败,它都会将 'isLoading' 设置为 'false',以隐藏加载状态。
你可以在 Vue 组件中的其他地方调用 'fetchData' 方法来触发异步请求,并在请求完成后执行其他操作。
原文地址: https://www.cveoy.top/t/topic/pZU8 著作权归作者所有。请勿转载和采集!