We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Originally posted by TSjianjiao February 12, 2025 比如如下场景:
data
A
dataA
B
dataB
问题是上一个组件transform之后,导致下一个组件命中缓存时,获取到的数据不是原始数据格式。
transform
比如:
可以看到B组件需要对两种情况进行区分,而且不熟悉的甚至不知道为什么数据格式会变成dataA而不是data
所以为什么不取消缓存transform的结果,命中缓存返回的永远都是原始数据格式data
The text was updated successfully, but these errors were encountered:
@JOU-amjs 这个问题复现了的确是 issue 描述的原因。我觉得把 transform 放在 getCache 后进行可以解决,但一些情况下可能会造成 cache 变大的问题。你觉得怎么样?
Sorry, something went wrong.
@TSjianjiao transform是用于统一转换某个接口数据的,如果需要针对一个接口不同地方不同转换数据的话,建议可以在hook的middleware中转换
关于缓存transform之后的数据,这其实是有意为之的,如果缓存transform之前的数据,当使用fetch并且没有设置全局responded时,将会缓存一个Response对象,如果某个请求设置了持久化缓存,Response就会因无法持久化而失效。
No branches or pull requests
Discussed in https://github.com/orgs/alovajs/discussions/636
Originally posted by TSjianjiao February 12, 2025
比如如下场景:
data
。将它设置为永久缓存。A
请求这个字典,组件需要数据格式为dataA
。B
,组件需要数据格式为dataB
。问题是上一个组件
transform
之后,导致下一个组件命中缓存时,获取到的数据不是原始数据格式。比如:
A
,此时转化路径是data
->dataA
,并缓存B
,如果命中缓存转化路径是是dataA
->dataB
,没有命中缓存则是data
->dataB
可以看到
B
组件需要对两种情况进行区分,而且不熟悉的甚至不知道为什么数据格式会变成dataA
而不是data
所以为什么不取消缓存
transform
的结果,命中缓存返回的永远都是原始数据格式data
The text was updated successfully, but these errors were encountered: