RequestOptions

data class RequestOptions<TData>

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

请求的唯一标识。相同 cacheKey 的数据全局同步(cacheTime、staleTime 参数会使该机制失效

Link copied to clipboard

设置缓存数据回收时间。默认缓存数据 5 分钟后回收 如果设置为 -1, 则表示缓存数据永不过期

Link copied to clipboard

通过配置自动参数为wait = 0,默认不开启防抖或者节流

Link copied to clipboard
var defaultParams: TParams

首次默认执行时,传递给 requestFn 的参数

Link copied to clipboard
var getCache: (TParams) -> CachedData<TData>?
Link copied to clipboard

通过设置 options.loadingDelay ,可以延迟 FetchState.loading 变成 true 的时间,有效防止闪烁。 例如当一个接口正常会较快返回,我们如果常规使用会出现闪烁。从请求发起后,极快的从 false -> true ->false; 我们可以设置一个大于这个返回时长的loadingDelay,例如50.milliseconds,这样在50ms内返回的接口, 不会引起闪烁。这种闪烁其实还有一种变形场景,例如一个接口会极快返回,我们不希望用户继续快速点击,我们期望 将loading延时,增加loading的对外表现时间,这种需求接近于节流,又稍有区别

Link copied to clipboard

默认 false。 即在初始化时自动执行 requestFn。 如果设置为 true,则需要手动调用 run

Link copied to clipboard
var onBefore: OnBeforeCallback

requestFn 执行前触发

Link copied to clipboard
var onError: OnErrorCallback

requestFn 抛出异常时触发

Link copied to clipboard
var onFinally: OnFinallyCallback<TData>

requestFn 执行完成时触发;参数1:请求参数,参数2:返回值,参数3:异常

Link copied to clipboard
var onSuccess: OnSuccessCallback<TData>

requestFn 成功时触发;参数1:请求返回值,参数2:请求参数

Link copied to clipboard

轮询错误重试次数。如果设置为 -1,则无限次

Link copied to clipboard

轮询间隔,单位为毫秒。如果值大于 0,则处于轮询模式。

Link copied to clipboard

在页面隐藏时,是否继续轮询。如果设置为 false,在页面隐藏时会暂时停止轮询,页面重新显示时继续上次轮询。 todo : 期望是组件在不可见状态能停止轮询,似乎需要加入对页面生命周期感知才能实现

Link copied to clipboard

通过设置 options.ready,可以控制请求是否发出。当其值为 false 时,请求永远都不会发出。

Link copied to clipboard

通过设置 options.refreshDeps,在依赖变化时, useRequest 会自动调用 Fetch.refresh 方法,实现刷新(重复上一次请求)的效果。 如果设置 options.manual = true,则 refreshDeps 不再生效

Link copied to clipboard

如果存在依赖刷新Action函数,则不执行默认的Fetch.refresh函数,改为执行refreshDepsAction

Link copied to clipboard

错误重试次数。如果设置为 -1,则无限次重试。

Link copied to clipboard

重试时间间隔,单位为毫秒。 如果不设置,默认采用简易的指数退避算法,取 1000 * 2 * retryCount

Link copied to clipboard
var setCache: (data: CachedData<TData>) -> Unit?

自定义缓存策略,无则采取默认策略

Link copied to clipboard

缓存数据保持新鲜时间。在该时间间隔内,认为数据是新鲜的,不会重新发请求 如果设置为 -1,则表示数据永远新鲜

Link copied to clipboard

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int