首页 > 其他分享 >nuxt2 优化asyncData 里多个接口await串行请求的弊端,改为并行请求

nuxt2 优化asyncData 里多个接口await串行请求的弊端,改为并行请求

时间:2024-08-16 11:41:03浏览次数:7  
标签:res1 请求 nuxt2 res2 res3 await 接口 data

优化前

多个接口await串行请求,若一个接口用时1秒,3个接口一共得用时3秒才行

async asyncData() {
    let res1 = await danielService.getAllDanielByIndex();
    let res2 = await journalService.getJournalType();
    let params = {
      page: 1,
      pagesize: 10,
    };
    let res3 = await journalService.queryJournal(params);
    return {
      danielList: res1?.data?.data || [],
      typeList: res2?.data?.data || [];,
      sortList: res3?.data?.data?.list || [],
    };
  },

优化后

多个接口await并行请求,若一个接口用时1秒,3个接口一共也就用时1秒

async asyncData() {
    const data = {
      danielList: [],
      typeList: [],
      sortList: [],
    };
    let params = {
      page: 1,
      pagesize: 10,
    };
    try {
      const [res1, res2, res3] = await Promise.allSettled([
        danielService.getAllDanielByIndex(),
        journalService.getJournalType(),
        journalService.queryJournal(params),
      ]);
      if (res1.status === "fulfilled") {
        data.danielList = res1.value?.data?.data || [];
      }
      if (res2.status === "fulfilled") {
        data.typeList = res2.value?.data?.data || [];
      }
      if (res3.status === "fulfilled") {
        data.sortList = res3.value?.data?.data?.list || [];
      }
    } catch (error) {
      console.error(error);
    }
    return data;
  },

参考文档

Promise相关语法:https://juejin.cn/post/7250383386183221285

标签:res1,请求,nuxt2,res2,res3,await,接口,data
From: https://www.cnblogs.com/huihuihero/p/18362545

相关文章

  • 鸿蒙HarmonyOS NEXT:使用axios方法请求实时天气数据
    通过axios方法请求高德天气查询api,实现获取实时天气数据,接下来是实现步骤:模块导入与数据准备:通过以下语句导入了必要的模块和数据:importaxios,{AxiosResponse,AxiosError}from'@ohos/axios'//导入axiosimport{cities}from'./tools/citys';//调用事先存好的城......
  • HTTP请求走私
    http请求走私 Conent-LengthConent-Length表示实体内容长度,当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-length消息首部字段告诉客户端需要接收多少数据。Transfer-Encoding分块编码,数据分解成一系列数据块,并以一个或多......
  • Golang httputil 包深度解析:HTTP请求与响应的操控艺术
    标题:Golanghttputil包深度解析:HTTP请求与响应的操控艺术引言在Go语言的丰富标准库中,net/http/httputil包是一个强大的工具集,它提供了操作HTTP请求和响应的高级功能。从创建自定义的HTTP代理到调试HTTP流量,httputil包都能提供必要的支持。本文将深入探讨httputil包的功能......
  • 0226-UDP 请求报文
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet/latest/pnet/index.htmlRFC792目标了解UDP协议的的字段。从这里开始,将进入第四层,传输层协议。UDP协议基于IP协议。配置TUNIP地址不要和主机的......
  • 0227-TCP 请求报文
    环境Time2022-11-24WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet/latest/pnet/index.htmlRFC793目标了解TCP协议头中的字段,其也是基于IP协议的。配置TUNIP地址不要和主机的网卡地址在一个段,以便选择这个网卡进行......
  • 微信小程序 网络请求使用封装好的mina-request
    1、安装、安装不了的时候使用手机热点npminstallmina-request2、构建npm3、使用 importWxRequestfrom'mina-request'import {getStorage,clearStorage,setStorage}  from './storage'import {ApiPathConst,DESKeyConst} from './constVar'//对WxRe......
  • 0225-ping 请求报文
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet/latest/pnet/index.htmlRFC792目标查看ping请求报文的格式,ping基于IP报文。ping命令ping-Itun0172.24.49.106root@jiangbo12490:~#ping-I......
  • HTTP请求错误:System.Net.WebException: 请求被中止: 未能创建 SSL/TLS 安全通道。
    调用有赞API时,报如下错误:HTTP请求错误:System.Net.WebException:请求被中止:未能创建SSL/TLS安全通道。经过排查得知,有赞的的api仅支持TLSv1.2协议版本我的程序使用的.NETFramework4.0不支持TLSv1.2协议版本 .NETFramework4.0Ssl3、Tls.NETFramework4.5-4.6.2......
  • Scrapy框架进阶攻略:代理设置、请求优化及链家网实战项目全解析
    scrapy框架加代理付费代理IP池middlewares.py#代理IP池classProxyMiddleware(object):proxypool_url='http://127.0.0.1:5555/random'logger=logging.getLogger('middlewares.proxy')asyncdefprocess_request(self,request,spider):......
  • 记一次TCP请求游戏服接口偶发超时问题处理:Linux内核网络参数调优
    记一次TCP请求游戏服接口偶发超时问题处理:Linux内核网络参数调优原创 国文 三七互娱技术团队  2024年07月08日18:00 广东 听全文01问题现象A云主机公网访问B云游戏服的一个接口出现偶发超时的问题。02问题原因经抓包定位到B云游戏服接口未响应请求报文导致,具体......