-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththrottle.html
15 lines (15 loc) · 20.5 KB
/
throttle.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-beta.25">
<meta name="og:title" content="Throttle Api Request - VueRequest"><link rel="icon" type="image/png" sizes="32x32" href="/[email protected]"><link rel="icon" type="image/png" sizes="16x16" href="/[email protected]"><link rel="shortcut icon" type="image/png" sizes="16x16" href="/[email protected]"><link rel="manifest" href="/manifest.webmanifest"><link rel="alternate" hreflang="en" href="https://v1.attojs.org/"><link rel="alternate" hreflang="zh-cn" href="https://v1.cn.attojs.org/"><meta name="application-name" content="VueRequest"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="apple-mobile-web-app-title" content="VueRequest"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="baidu-site-verification" content="code-kq0ZWRB0uD"><meta name="google-site-verification" content="-zekuAhD-WeZ_iSgC4Js4rVeJ3CxzjRxIpiJN6TL7go"><meta name="keywords" content="vue-request, vue3, vue request, axios, vue, vuejs, js, request, fetch, vue-next, swr, 请求, vue请求库"><meta name="attojs-site-env" content="OTHER"><meta name="og:site_name" content="vue-request"><meta name="og:url" content="https://v1.attojs.org/"><meta name="og:image" content="https://v1.attojs.org/[email protected]"><meta name="og:type" content="website"><script src="https://hm.baidu.com/hm.js?9ff6837028ca9b7ed17fc684b9f946a2"></script><meta name="description" content="vue-request is a Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, loading status, pagination, infinite load, etc."><meta name="og:description" content="vue-request is a Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, loading status, pagination, infinite load, etc."><title>Throttle | VueRequest</title>
<link rel="preload" href="/assets/js/runtime~app.2007a3d7.js" as="script"><link rel="preload" href="/assets/css/styles.0ca42137.css" as="style"><link rel="preload" href="/assets/js/967.3a1343c1.js" as="script"><link rel="preload" href="/assets/js/app.afc1da13.js" as="script">
<link rel="stylesheet" href="/assets/css/styles.0ca42137.css">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/" class=""><img class="logo" src="/[email protected]" alt="VueRequest"><span class="site-name can-hide">VueRequest</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/guide/introduction.html" class="nav-link" aria-label="Documentation"><!--[--><!--]--> Documentation <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/api/index.html" class="nav-link" aria-label="API Reference"><!--[--><!--]--> API Reference <!--[--><!--]--></a></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="Languages"><span class="title">Languages</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="Languages"><span class="title">Languages</span><span class="right arrow"></span></button><!--[--><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a class="nav-link external" href="https://v1.cn.attojs.org/" rel="noopener noreferrer" target="_blank" aria-label="中文"><!--[--><!--]--> 中文 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="v1.x"><span class="title">v1.x</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="v1.x"><span class="title">v1.x</span><span class="right arrow"></span></button><!--[--><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a class="nav-link external" href="https://www.attojs.org/" rel="noopener noreferrer" target="_blank" aria-label="v2.x"><!--[--><!--]--> v2.x <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></div></div><div class="navbar-links-item"><a class="nav-link external" href="https://v1.attojs.com/" rel="noopener noreferrer" target="_blank" aria-label="China Mirror"><!--[--><!--]--> China Mirror <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/attojs/vue-request" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><div id="docsearch-container"></div></div></header><div class="sidebar-mask"></div><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/guide/introduction.html" class="nav-link" aria-label="Documentation"><!--[--><!--]--> Documentation <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/api/index.html" class="nav-link" aria-label="API Reference"><!--[--><!--]--> API Reference <!--[--><!--]--></a></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="Languages"><span class="title">Languages</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="Languages"><span class="title">Languages</span><span class="right arrow"></span></button><!--[--><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a class="nav-link external" href="https://v1.cn.attojs.org/" rel="noopener noreferrer" target="_blank" aria-label="中文"><!--[--><!--]--> 中文 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="v1.x"><span class="title">v1.x</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="v1.x"><span class="title">v1.x</span><span class="right arrow"></span></button><!--[--><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a class="nav-link external" href="https://www.attojs.org/" rel="noopener noreferrer" target="_blank" aria-label="v2.x"><!--[--><!--]--> v2.x <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></div></div><div class="navbar-links-item"><a class="nav-link external" href="https://v1.attojs.com/" rel="noopener noreferrer" target="_blank" aria-label="China Mirror"><!--[--><!--]--> China Mirror <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/attojs/vue-request" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><p class="sidebar-heading sidebar-item">Guide</p><ul class=""><li><!--[--><a href="/guide/introduction.html" class="nav-link sidebar-item" aria-label="Introduction"><!--[--><!--]--> Introduction <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/gettingStarted.html" class="nav-link sidebar-item" aria-label="Getting Started"><!--[--><!--]--> Getting Started <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--[--><p class="sidebar-heading sidebar-item active">Documentation</p><ul class=""><li><!--[--><a href="/guide/documentation/globalOptions.html" class="nav-link sidebar-item" aria-label="Global Options"><!--[--><!--]--> Global Options <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/dataFetching.html" class="nav-link sidebar-item" aria-label="Data Fetching"><!--[--><!--]--> Data Fetching <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/manual.html" class="nav-link sidebar-item" aria-label="Manually Trigger"><!--[--><!--]--> Manually Trigger <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/mutation.html" class="nav-link sidebar-item" aria-label="Mutation"><!--[--><!--]--> Mutation <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/polling.html" class="nav-link sidebar-item" aria-label="Polling"><!--[--><!--]--> Polling <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/queries.html" class="nav-link sidebar-item" aria-label="Concurrent Request"><!--[--><!--]--> Concurrent Request <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/ready.html" class="nav-link sidebar-item" aria-label="Dependent Request"><!--[--><!--]--> Dependent Request <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/debounce.html" class="nav-link sidebar-item" aria-label="Debounce"><!--[--><!--]--> Debounce <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/guide/documentation/throttle.html" class="router-link-active router-link-exact-active nav-link router-link-active sidebar-item active" aria-label="Throttle"><!--[--><!--]--> Throttle <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/cacheKey.html" class="nav-link sidebar-item" aria-label="Cache and Preload"><!--[--><!--]--> Cache and Preload <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/errorRetry.html" class="nav-link sidebar-item" aria-label="Error Retry"><!--[--><!--]--> Error Retry <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/loadingDelay.html" class="nav-link sidebar-item" aria-label="Loading Delay"><!--[--><!--]--> Loading Delay <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/refreshDeps.html" class="nav-link sidebar-item" aria-label="Dependency Refresh"><!--[--><!--]--> Dependency Refresh <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/refreshOnWindowFocus.html" class="nav-link sidebar-item" aria-label="Refresh On Focus"><!--[--><!--]--> Refresh On Focus <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/pagination.html" class="nav-link sidebar-item" aria-label="Pagination"><!--[--><!--]--> Pagination <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/guide/documentation/loadMore.html" class="nav-link sidebar-item" aria-label="LoadMore"><!--[--><!--]--> LoadMore <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="throttle" tabindex="-1"><a class="header-anchor" href="#throttle" aria-hidden="true">#</a> Throttle</h1><blockquote><p>An explanation of throttling can be found in <a href="https://css-tricks.com/debouncing-throttling-explained-examples/#throttle" target="_blank" rel="noopener noreferrer">here<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>.</p></blockquote><p>Simply put, it is guaranteed to execute the function every N milliseconds. For example, for input events, the <code>throttle</code> function will execute the function at a set time interval during the user <strong>input process</strong>. This is very different from the <a href="/guide/documentation/debounce.html" class=""><code>debounce</code></a> mentioned in the previous section.</p><p>The throttling of VueRequest is implemented using <a href="https://lodash.com/docs/4.17.15#throttle" target="_blank" rel="noopener noreferrer"><code>throttle</code><span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> provided by <a href="https://lodash.com" target="_blank" rel="noopener noreferrer"><strong>lodash</strong><span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>, <code>The leading</code> and <code>trailing</code> options default to true. Therefore, <strong>two requests may be triggered during the execution interval of the first throttle</strong></p><blockquote><p><strong><a href="/api/#throttleoptions" class=""><code>throttleOptions</code></a> is provided after version 1.2.2 to customize the behavior of <code>throttle</code></strong></p></blockquote><p>As shown below, you only need to provide a <a href="/api/#throttleinterval" class=""><code>throttleInterval</code></a> to tell us the execution interval of throttling. So when the user enters information, we will initiate a request every 1000 milliseconds.</p><blockquote><p>You can open the console to view the interval of the console printing information</p></blockquote><div class="n-config-provider" data-v-30ca88a8><!--[--><div class="demo" data-v-30ca88a8><!----></div><!--]--></div><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">6/6/2023, 4:05:10 AM</span></div><div class="meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: [email protected]">John</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav"><p class="inner"><span class="prev"> ← <a href="/guide/documentation/debounce.html" class="nav-link" aria-label="Debounce"><!--[--><!--]--> Debounce <!--[--><!--]--></a></span><span class="next"><a href="/guide/documentation/cacheKey.html" class="nav-link" aria-label="Cache and Preload"><!--[--><!--]--> Cache and Preload <!--[--><!--]--></a> → </span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!----><!--]--></div>
<script src="/assets/js/runtime~app.2007a3d7.js" defer></script><script src="/assets/js/967.3a1343c1.js" defer></script><script src="/assets/js/app.afc1da13.js" defer></script>
</body>
</html>