先上延时代码:
//预览报表 $('#reportSettingTable tbody').on('click', '.preview_report', function() { //显示关联的报表 var reportId = $(this).attr("report-id"); //多模板处理 var reportIds = reportId.split(","); show(reportIds); }); async function show(reportIds){ for (var i=0;i<reportIds.length;i++){ var reportUrl = ""; reportUrl = "../web/viewer.html?file=../report/"+reportIds[i]+"/reportTemplate.json"; window.open(reportUrl, "_blank"); await sleep(3000); } }
事件起因:之前做的图片服务器,sftp+nginx,并没有做多线程处理,在同时预览或者上传时会因为通道关闭而出错。这里预览时,对于多模板的同时预览,采用 async+await 延时预览间隔。
补充:通常js延时,对于方法的延时。采用如下:
var t=setTimeout("location.reload()",5000);
“”中写上需要延时执行的方法,达到延时执行的目的。