javascript - Ajax 调用后超时的最佳实践
问题描述
以前,在我的表重新加载新数据后,我已经实现了超时。在调用 ajax 后,我在如何更新我的 dom 时遇到了麻烦,因为我正在分析 webapp 之上开发前端 js。我已经找到了一个使用超时的解决方案,它将在刷新后加载 dom,但我不确定这是否是最佳实践,因为我必须预设时间并且不同的视图会有不同的查询和渲染时间。
$( document ).ajaxSuccess(function( event, xhr, settings ) {
setInterval(function(){
let update = d3.selectAll("#" + arcapi.chartId() + ' tbody td')
update.filter(function(){
if(this.innerHTML === 'Tier 2'){
return true;
}
}).style('background-color','green');
}, 2000);
});
注意:我无法在 ajaxComplete 之后直接从 ajax 代码更新是因为我没有访问 ajax 文件。这是迄今为止我在 8 天内获得的最佳解决方案。请让我知道您的意见和意见。
解决方案
您可以遵循以下格式,因为它在engineers
. 你也可以阅读这个官方文档
$.ajax({
url: "YourRequestURL",
error: function(){
// This function would triggered when timeout occurred
},
success: function(){
//Your logic after success request
},
timeout: 3000 // sets timeout 1 to 3 seconds is mostly used
});
虽然没有具体的超时规则,但建议将其设置在 1000-5000 之间。但是,根据您的要求,它可能会改变。
希望这会有所帮助
推荐阅读
- c# - NSwag 的 AspNetCoreOperationSecurityScopeProcessor 将所有端点标记为需要授权
- c# - 自动映射器收集后事件为空
- java - Elasticsearch如何获取aggs下filter的doc_count值?
- flutter - Flutter:如何阻止底部导航栏出现在用户点击时?
- python - 在python上的字典中为每个键添加超过1个值
- typescript - obj.property 未定义,但是当我进行检查时,它应该返回 true 时返回 false
- google-chrome - 解压后的 Chrome 扩展的持久存储
- typescript - Axios - 解析 Typescript 接口
- php - PHP 电子表格日期验证
- java - 加密数据,使用 UDP 发送到服务器,然后解密