首页 > 其他分享 >等待axios请求的返回值来使用

等待axios请求的返回值来使用

时间:2023-10-28 10:56:18浏览次数:34  
标签:axios return 请求 config request error 返回值 data id

 

我们只要关心代码里面的asyncawait就行了

//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

相关文章

  • axios中post请求后台req.body接收不到参数的解释
    axios的get请求都是把参数放在params属性下,在post请求下有两种方法,一种是放在params属性中,适合传参较少且数据较简单的情况,另外一种是放在data属性中,如果传参中含有引号、等号、拼接的json串或传参的数据量较大时候使用;后台的服务器的配置,node后台一般会配置中间件解析数据,包含......
  • python+playwright 学习-81 page.expect_request()捕获网络请求
    前言page.expect_request()可以捕获网页上发出去的请求,当有多个请求时,可以根据请求url,请求方式判断。expect_request官方文档示例withpage.expect_request("http://example.com/resource")asfirst:page.get_by_text("triggerrequest").click()first_request=first.val......
  • Controller 中的请求方法,private 和 public有什么区别?别用错了!
    作者:hinotoyk链接:https://juejin.cn/post/6910215219822362632背景:某日在公司中撸代码的时候,在一个常用的controller中添加一个方法,测试时突然报错说注入的service为null,捣鼓一阵发现后是方法修饰符写成private,修改成public后搞定。为什么会产生这个问题呢?就自己测试一下是哪......
  • Langchain语言模型提问请求,提问使用非标准的sse请求获取流式数据,java后台版解决方式
    问题描述:请求后接收的数据流,不走EventSourceListener的onEvent事件,但onOpenonClosed都是正常走的。 问题原因:默认的接口返回是StreamingResponse不是EventSourceResponse,无法走标准sse协议的onEvent()方法 目标需求:在不改动模型方面接口的情况下,接收到流式数据并通过sse协......
  • Ajax请求--Ajax的使用与案例
    浏览器向网站发送请求时:以URL和表单的形式提交GETPOST特点:提交时页面会刷新除此之外,也可以基于Ajax向后台发送请求(页面不会刷新,只局部更新)依赖jQuery编写Ajax代码$.ajax({ url:"发送的地址", type:"get", data:{ n1:123, n2:456 }, success:function(res){......
  • VCSA重装后或者更新证书后,vsan 无法提取请求的数据。有关详细信息,请查看 vSphere Clie
    VCSA重装后或者更新证书后,VSAN磁盘组信息无法显示 重装VCSA接管VSAN环境后,查看VSAN磁盘组报错无法提取请求的数据。首先VCSA开启SSH后台连接到VC环境。vi/tmp/check-trust-anchors  #内容如下#!/bin/bashfunctionsetOptionColorize(){RED=$(tputsetaf1)......
  • 2023-10-26 ts报异常:并非所有代码路径都返回值 ==》给一个默认的返回值
    在函数中添加了判断且包含了return,如:if(isTrial){returnalert("666");}那么ts就会报这个异常,这也不算错误,但从ts的严格模式来看,是要给定一个默认返回值才行。解决方案:if(isTrial){returnalert("666");}returnaler......
  • 字节一面:post 为什么会发送两次请求?被问懵了…
    前言最近博主在字节面试中遇到这样一个面试题,这个问题也是前端面试的高频问题,因为在前端开发的日常开发中我们总是会与post请求打交道,一个小小的post请求也是牵扯到很多知识点的,博主在这给大家细细道来。同源策略在浏览器中,内容是很开放的,任何资源都可以接入其中,如JavaScrip......
  • get请求和post请求的区别?
    1.get请求获取数据,post请求传递数据或创建数据。2.get请求信息在url,安全性低,还有2048的长度限制。post请求在body里,不显示在url里,安全性高,没有长度限制。3.get请求刷新回退没影响。post请求需要重新请求一次。4.get请求能缓存,可以保存在历史记录里。post请求不能缓存。5.get请......
  • 一篇了解springboot3请求参数种类及接口测试
    SpringBoot3数据请求:原始数据请求://原始方式@RequestMapping("/simpleParam")publicStringsimpleParam(HttpServletRequestrequest){//获取请求参数Stringname=request.getParameter("name");Stringage=request.getParame......