我们只要关心代码里面的async 和 await就行了
//api import sysConfig from '@/api/systemManagement/config' async getSysConfigInfo(id:number|string){ const coolieValue= cookies.get("setup_sysmConfigManage_time") if(!coolieValue){ // 如果不存在就设置时间 await sysConfig.sysConfigList({currentPage:1,perPage:1000}).then(res=>{ // 测试可以设置成10秒,把4h改成10s cookies.set("setup_sysmConfigManage_time", "config", "10s") //保存在本地 localStorage.setItem("setup_sysmConfigManage_time",JSON.stringify(res.data.data.data)) this.data=res.data.data.data this.item=res.data.data.data.find((ele:any)=>{return ele.AutoInc===id}) console.log('4小时后更新1111',this.data,this.item) }) return this.item }else{ let currencyN:any=localStorage.getItem("setup_sysmConfigManage_time") this.data=JSON.parse(currencyN) if(this.data){ this.item=this.data.find((ele:any)=>{return ele.AutoInc===id}) console.log(this.data,'ccc',this.item) return this.item }else{ return 0 } } }, //重点 // 在vue使用方式 // 导入 // import {useCookie} from '@stores/cookie' //const useCookieStore:any =useCookie() // 等待异步问题 // async function getDataItem() { // try { // dataItem就是获取的项 // const dataItem = await useCookieStore.getSysConfigInfo(2); // console.log(dataItem,'aaareturn'); // // 在这里处理获取到的dataItem // } catch (error) { // console.error(error); // // 处理错误情况 // } // } // 在需要的地方调用 // getDataItem();
api里面的方法,下面这些都是参考的,不重要的
import request from "@/utils/request"; /** * 获取配置信息列表 */ function sysConfigList(data:Object){ return request.post('sysConfigList',data) } /** * 获取配置信息 */ function getSysConfig(id:string|number){ return request.get('getSysConfig/'+id) } // 修改配置信息 function updateSysConfig(id:string|number,data:Object){ return request.put('updateSysConfig/'+id,data) } // 批量修改系统配置 function batchUpdateSysConfig(data:Object){ return request.post('batchUpdateSysConfig',data) } export default{ sysConfigList, getSysConfig, updateSysConfig, batchUpdateSysConfig }
request文件
import axios from 'axios' import router from '@/routers/router' const request = axios.create({ baseURL:'/api', timeout:600000, headers:{'Content-Type':'application/json;charset=utf-8','Authorization':`Bearer '+${localStorage.getItem('userToken_ERP')}`} }) // 请求拦截器,在每个请求前添加token request.interceptors.request.use( (config)=>{ const token = localStorage.getItem('userToken_ERP') if(token){ if(config && config.headers){ config.headers.Authorization=`Bearer ${token}`; } }else{ } return config; }, (error)=>{ return Promise.reject(error); } ) // 响应拦截器,如果请求返回401,说明token失效或未授权,则跳转到登录页 request.interceptors.response.use( (response)=>{ return response }, (error)=>{ const code =error.response ? error.response.status : null if(code === 401){ console.log(error.response.status,'401') router.push("/login") } return Promise.reject(error) } ) export default request
标签:axios,return,请求,config,request,error,返回值,data,id From: https://www.cnblogs.com/hechunfeng/p/17793783.html