javascript - 主干保存模型超时
问题描述
我正在尝试保存需要 40 秒才能在后端处理并等待保存响应的模型,但在我的应用程序中,有一些全局超时会捕获此问题并显示一般错误消息。
所以问题是我可以为我的model.save()
方法设置某种超时吗?
我尝试使用
$.ajaxSetup({
timeout: 30000
});
在模型初始化方法中,也尝试在保存方法中像这样传递超时
myModel.save({
timeout: 30000
},...
但它没有用
解决方案
40 秒很多,可能是您的后端有问题。
我不确定更改全局超时是否是一个好主意,您必须为每个浏览器都这样做,它可能不是最佳选择。
我要做的是在您的应用程序中为您尝试保存的有效负载保留一个 id。
=> frontend calls saveMyPayload(payload, id)
=> frontend display loader
=> backend process payload (takes 40secondes)
然后你可以定期打电话给你的后端询问是否保存完成。
=> frontend calls isMyPayloadSavedYet(id)
=> backend answer "no" until saving is done
=> finally backend answer "yes it's saved"
=> frontend displays "saved" message
=> frontend destroy the setInvervale used for saving verification
我就是这样做的(如果可能的话,也可以修复缓慢的后端)
希望能帮助到你 !
推荐阅读
- javascript - 将数据从子组件传递到父组件
- python - 尝试根据与类列表对象的链接选择元素 - beautifulsoup
- javascript - Javascript:深刻改变 const 数组?
- three.js - Three.js pointLight 似乎不起作用
- python - 如何让一个类使用从另一个类获取属性的函数?
- python - python pandas数据框按降序排序
- sql-server - 弹性搜索来索引完整的关系数据库 - 这是个好主意吗?
- vb.net - 将 Richtextbox 保存为 .txt 但格式相同 vb.net2010
- c# - Unity 的柏林噪声
- javascript - 无法加载 Facebook Graph API 个人资料图片 URL