骨干保存模型超时



我正在尝试保存需要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

这就是我的方式(如果可能的话,也许还可以修复慢速后端(

希望它有帮助!

最新更新