强制请求
强制请求是指绕过缓存的检查触发请求发送的机制,当需要在一定条件下获取最新的数据时很有用。
在 method 中强制请求
通过调用 method 实例的 send 函数,并传入 true 来强制请求。
const response = await alovaInstance.Get('/api/user').send(true);
在 useHook 中强制请求
在useRequest/useWatcher/useFetcher
三个核心 hook 中,都支持强制请求参数。
// useRequest
useRequest(todoListGetter, {
force: true
});
// useWatcher
useWatcher(todoListGetter, [page], {
force: true
});
// useFetcher
useFetcher({
force: true
});
动态设置 force 值
实际情况中,我们经常需要根据不同情况来设置是否需要强制发送请求,此时可以将 force 设置为一个函数,此函数也将接收来自 send
函数传入的参数。在之前的接收参数中已讲解过。
useRequest(todoListGetter, {
force: isForce => {
return isForce;
}
});
// useWatcher
useWatcher(todoListGetter, [page], {
force: isForce => {
return isForce;
}
});
// useFetcher
useFetcher({
force: isForce => {
return isForce;
}
});
useFetcher
是一个数据拉取的 useHook,将在后面的数据拉取中讲解。