Vuex结合TypeScript:如何用Promise调用REST API处理异步Action
Vuex Action 实现远程API数据加载(TypeScript版)
这是一段用TypeScript结合Vuex编写的Action,专门用来在组件渲染阶段从远程API拉取当前会话的共享文件列表,依赖axios库发起HTTP请求:
import axios from 'axios'; // 假设Context和commitSharedFiles已经在别处定义 const actions = { getCurrentSession(context: Context) { return axios.get("http://localhost:3000/sessions/current") .then((res) => { commitSharedFiles(context, res.data.shared_files); }) .catch((e: string) => { console.error(e); }); } }; // 导出Action供Vuex Store使用 export default actions;
几个关键细节说明:
- 用
axios.get()发起GET请求,目标API地址是本地开发环境的http://localhost:3000/sessions/current - 请求成功后,通过
commitSharedFiles这个辅助函数(应该是用来提交mutation更新Vuex状态的),把接口返回的shared_files数据同步到状态管理中 - 请求失败时会捕获错误并打印到控制台,如果需要给用户展示错误提示,可以在这里添加对应的全局通知逻辑
内容的提问来源于stack exchange,提问作者TonyW
相关产品推荐
相关产品推荐

