【发布时间】:2020-12-27 11:49:25
【问题描述】:
目前我正在开发一个应用程序,用户可以在其中无限滚动浏览产品。 前端是 vue,我的后端是 laravel,里面有我的图片。 产品图片通过 axios.get 加载到我的 laravel api。
<v-card>
{some other components}
<v-img :src="loadProductImage(product.nr)"
contain/>
{some other stuff}
</v-card>
当然,这仅在渲染的 v-card 在视口中时触发。
然而,这导致我遇到另一个问题。
无限滚动通过分页加载 25 个产品信息(此处不包含图像,因为这会花费太长时间)。
当用户决定快速向下滚动时,分页调用完美无缺。
但这会触发大量图像加载请求排队,从而导致错误 429“请求过多”。
我的另一个想法是也为图像调用分页请求。但这也会导致大约 25*60kB 的数据被传输(不是那么大,但对我来说,当我看不到任何图像并且突然一次显示 25 个图像时,这有点干扰)。
除了在 laravel 中提高油门之外,还有其他优雅的解决方案吗,因为这似乎是“它有效,但不是应该的方式”-方式。
【问题讨论】:
-
转到您的
RouteServiceProvider并尝试推荐configureRateLimiting或将限制增加到 60 以上,这是默认值,如果这有助于您可以仅对一条路线或整个应用禁用它跨度>