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).seconds, 则表示缓存数据永不过期

Link copied to clipboard
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,在页面隐藏时会暂时停止轮询,页面重新显示时继续上次轮询。

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).seconds,则表示数据永远新鲜

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