| 1 |
- var _=(C,p,n)=>new Promise((s,l)=>{var m=r=>{try{u(n.next(r))}catch(i){l(i)}},d=r=>{try{u(n.throw(r))}catch(i){l(i)}},u=r=>r.done?s(r.value):Promise.resolve(r.value).then(m,d);u((n=n.apply(C,p)).next())});import{P as x}from"./index-C0mnMlct.js";import{an as v}from"./entry/index-CRWhxBeP.js";import{u as T}from"./index-PbVC8mB0.js";import{R as b,Q as k,W as w,aO as g,f as c}from"./antd-BfqWtMX3.js";import{d as $,a6 as B,Z as E,a4 as N,a5 as e,k as o,u as a,G as y,$ as R}from"./vue-DM5HGU8Z.js";import"./useContentViewHeight-D9So7_ch.js";import"./useWindowSizeFn-CEueHQop.js";import"./onMountedOrActivated-Ckq_czNf.js";function P(){return v.get({url:"/testRetry"},{retryRequest:{isOpenRetry:!0,count:5,waitTime:1e3}})}const Q=$({__name:"index",setup(C){const p=()=>_(this,null,function*(){yield P()});function n(){return new Promise((i,t)=>{setTimeout(()=>{t(`TimeError: ${Date.now()}`)},1300)})}let s=0;const{loading:l,run:m,cancel:d}=T(n,{manual:!0,retryCount:5,onError(i){s===0&&(c.error("发现错误"),s++);const t=Date.now();c.error(`第 ${s++} 次重试, Time:${t}`)}}),u=()=>{s=0,m()},r=()=>{s=0,d(),c.info("已取消")};return(i,t)=>{const f=B("a-button");return E(),N(a(x),{title:"错误重试"},{default:e(()=>[o(a(b),{gutter:16},{default:e(()=>[o(a(k),{span:8},{default:e(()=>[o(a(w),{title:"Axios 错误重试"},{default:e(()=>[o(f,{onClick:p,type:"primary"},{default:e(()=>t[0]||(t[0]=[y(" 点击会重新发起请求5次 ")])),_:1}),t[1]||(t[1]=R("div",{class:"mt-4"},"打开浏览器的 network 面板,可以看到发出了六次请求",-1))]),_:1})]),_:1}),o(a(k),{span:8},{default:e(()=>[o(a(w),{title:"hooks 错误重试"},{default:e(()=>[o(a(g),null,{default:e(()=>[o(f,{onClick:u,type:"primary",disabled:a(l)},{default:e(()=>t[2]||(t[2]=[y(" 使用 hooks 发起重试 ")])),_:1},8,["disabled"]),o(f,{onClick:r},{default:e(()=>t[3]||(t[3]=[y("取消")])),_:1})]),_:1}),t[4]||(t[4]=R("div",{class:"mt-4"},"错误重试,retryInterval 如果不设置,默认采用简易的指数退避算法,取 1000 * 2 ** retryCount,也就是第一次重试等待 2s,第二次重试等待 4s,以此类推,如果大于 30s,则取 30s ",-1))]),_:1})]),_:1})]),_:1})]),_:1})}}});export{Q as default};
|