当前位置: 首页 > news >正文

有哪些网站可以做设计比赛共享互助医疗网站建设

有哪些网站可以做设计比赛,共享互助医疗网站建设,网站设计制作案例,汕头网站公司公共loading是项目系统中很常见的场景#xff0c;处理方式也不外乎三个步骤#xff1a; 通过全局状态管理定义状态值#xff08;vuex、pinia等#xff09;。 在程序主入口监听状态值变化#xff0c;从而展示/隐藏laoding动画。 在请求和相应拦截器中变更状态值。 第一二…公共loading是项目系统中很常见的场景处理方式也不外乎三个步骤 通过全局状态管理定义状态值vuex、pinia等。 在程序主入口监听状态值变化从而展示/隐藏laoding动画。 在请求和相应拦截器中变更状态值。 第一二步骤处理大同小异但在第三步中网上很多博文分享的方法是:在请求拦截中展示loading,在响应拦截器中判断收到成功响应时直接隐藏loading这种方法看似可行但实际过程中却有问题。 例如假设在第0秒时同时向后台发送了两个异步请求A和B由于网络或处理逻辑不同A请求0.5秒秒收到成功响应B请求2秒才收到。那在第0.5秒响应拦截器就会把loading状态变更结束loading动画但此时B请求还没收到返回。如果用户接下来的操作同时需要A和B请求的数据提前结束动画会让用户体检变差。 解决思路定义一个全局对象来存储每个接口的响应状态直到每个请求接口都收到响应才变更状态结束loading动画。因为键名的唯一性可以使用接口路径或唯一接口编号作为键名。请求时添加一个键值对响应时变更键值同时遍历对象状态值进行判断 let apiStatusList {/api/a:true,//true请求中/api/b:false //false请求完成 } 具体操作如下以vue3的pinia为例 定义一个loading.js import { defineStore } from pinia; export const useLoadStore defineStore(storeLoading, {state: () {return {apiStatusList:{},loading:false, //网络加载状态true加载中};},actions: {updateLoadingState(value){this.loading value},setApiStatusList(value){this.apiList value;}} }); 拦截器处理 import axios from axios; import { useLoadStore } from ../stores/loading;const request axios.create(); //请求拦截 request.interceptors.request.use((config) {//公共loadingconst loadStore useLoadStore();let statusList { ...loadStore.apiStatusList };statusList[config.url] true; //接口赋值为请求中loadStore.setApiStatusList(statusList);if (!loadStore.loading) { //判断loading是否正在展示中loadStore.updateLoadingState(true);}return config;},(error) {return Promise.reject(error);} )//响应拦截 request.interceptors.response.use((response) {const loadStore useLoadStore();let statusList { ...loadStore.apiStatusList };statusList[response.config.url] false; 接口赋值为请求完成if (!Object.values(statusList).includes(true)) { //遍历对象判断接口是否全部返回if (loadStore.loading) {loadStore.updateLoadingState(false);loadStore.setApiStatusList({});}} else {loadStore.setApiStatusList(statusList);}}(error) {//有接口报错重置loadingconst loadStore useLoadStore();if (loadStore.loading) {loadStore.updateLoadingState(false);loadStore.setApiStatusList({});}}App.vue监听状态变化 //监听store状态值时需要传入function watch(()loadStore.loading,(newValue, oldValue){if(newValue){showLoadingToast({duration: 0,forbidClick: true,});}else{closeToast();} }) 文章转载自波特卡斯D 原文链接https://www.cnblogs.com/zyj-Blogs/p/17844283.html
http://www.pierceye.com/news/686971/

相关文章:

  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购
  • 网站经营性备案修改wordpress自带小工具
  • 网站怎么建设可以发图评论网站建设制作公
  • 做销售的网站设计公司是做什么的
  • 建设专业网站的利弊海淀区seo招聘信息
  • 吴江区住房与建设局网站网站开发怎么对接客户
  • frontpage2007网站建设网站开发需要redis
  • 国内做网站多少钱ui中有哪些做的好看的网站
  • 金湖建设工程质量监督网站网页设计 网站建设 哪个好
  • 适合做外链的网站梧州论坛红豆思辨
  • 永城网站设计公司wordpress 获取父分类
  • 网站开发语言是什么东莞营销网站建设价格
  • 外贸公司访问国外网站中学生做的网站有哪些方面
  • 南城网站建设公司信息wordpress怎样显示文章全部列表
  • 做推广什么网站便宜企业网站管理系统湖南岚鸿
  • 电影下载网站 怎么做flash翻页效果网站模板
  • 社交网站开发语言河北建设工程信息网首页
  • 上海营销型网站建设公司wordpress 自己做页面
  • 网站布局选择临淄信息网手机版
  • 怎样申请网站呢注册商标怎么注册商标
  • 网站地址英文不相关的网站做单项链接可以吗
  • 怎么做网站超链接wordpress 主题 设置
  • 手机电影网站建设如何做网站域名备案
  • 重庆手机网站推广价格网络营销论文参考文献
  • 如何给网站添加搜索关键字做流量网站有收入吗
  • 购物网站的英文如何不让百度收录网站
  • 上海定制网站建设公司哪家好建立公司官网
  • jsp电影网站开发教程滁州网站建设梦天堂
  • 网站建设哪个好一些网站服务器证书有问题