因为网页可能会休眠,一旦休眠以后,任务队列里面的任务会暂停。 对于计时器来说,休眠的时间是什么都没有发生。
如果是 service worker 里 notification 能不能收到通知呢?
为什么不应该定时刷新请求token?
当通过定时器每隔一段时间进行刷新token的时候,会遇到休眠时间。在休眠时间内,token是不会被刷新的。如果遇到了一旦聚焦屏幕就发出请求的场景,意味着刷新token的动作比业务请求要慢,导致这一批次的业务请求出现授权问题。好的做法应该是每次请求前校验token是否是有效期内,如果在有效期则继续请求,如果不在有效期了,刷新token,然后重新请求。
刷新token在react query该如何实现
query的请求基础库是基于axios。react-query使用queryClient,queryClient中有defaultQueryFunction用于自定义默认请求件。 axios 里使用use洋葱,可以挂载自定义逻辑。 trpc中,可以在link中挂载自定义逻辑。