前端接口请求超时
最近开发中遇到接口超时问题,
背景:数据计算量过大,接口响应时间过长时,网关会报超时,页面就挂了
想请教下各位大神前端有什么比较好的方案可以进行优化吗(比如超时给个提示,不让页面挂掉)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
最近开发中遇到接口超时问题,
背景:数据计算量过大,接口响应时间过长时,网关会报超时,页面就挂了
想请教下各位大神前端有什么比较好的方案可以进行优化吗(比如超时给个提示,不让页面挂掉)
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
你用前后端不分离的表单形式那就没办法,直接就 502/504,即便你能自定义错误页面也是很不友好的。就得改造成 AJAX,这样你才能在 JS 里捕捉到错误好给个提示啥的。
不建议采用增大网关的超时等待时间这种粗暴的做法,因为尽快挂掉也是为了给后来的请求腾地方,要不然全都堆积在那儿了。
如果你的业务确实就是有经常性的大量计算,最好改造成提交和查询两步进行,提交数据后直接返回一个任务 ID 之类的,后台异步地去执行,别让前端等。此时前端显示个 loading 之类的,等后台处理好以后通过某种方式告知前端(轮询也好、WebSocket 也罢)再获取执行结果。
可以参考微信商户或者支付宝商户导出订单的那种业务逻辑,你提交查询条件后就立刻返回,等它生成好了你再去下载。
服务端渲染啊?超时给个错误页面
如果是普通的ajax那就是代码不行
后台时间太久,对前端用户非常不友好。
全局设置超时时间(单位ms)
单独设置超时时间(单位ms)