Loading Delay

通过设置 options.loadingDelay ,可以延迟 loading 变成 true 的时间,有效防止闪烁。

const { loading, data } = useRequest(getUsername, {
  loadingDelay: 300,
});

return <div>{loading ? "Loading..." : data}</div>;

例如上面的场景,假如 getUsername 在 300ms 内返回,则 loading 不会变成 true,避免了页面展示 Loading... 的情况。

你可以快速点击下面示例中的按钮以体验效果



data1:

data2:
点击查看代码
<script setup>
import { mockFetchFast } from "@/api";
import { useRequest } from "ahooks-for-vue";

const {
  loading: loading1,
  data: data1,
  run: run1,
} = useRequest(mockFetchFast, {
  loadingDelay: 500,
});
const {
  loading: loading2,
  data: data2,
  run: run2,
} = useRequest(mockFetchFast, {});
const set = (v) => {
  run1();
  run2();
};
</script>
<template>
  <div>
    <button @click="() => set()">run</button>
    <br />
    <br />
    data1: {{ loading1 ? "loading..." : data1 }}
    <br />
    <br />
    data2: {{ loading2 ? "loading..." : data2 }}
  </div>
</template>
<style></style>

轮询错误重试

API

参数说明类型默认值
loadingDelay设置 loading 变成 true 的延迟时间number0

备注

options.loadingDelay 支持动态变化。

Last Updated:
Contributors: 郑磊