记一次前端ajax禁止使用异步async的操作

环境:

前端layui  jquery

情况:

页面在iframe里面,

然后点击按钮,弹出输入框。点击确认,弹出框发送内容到后台,

传送数据到后台后,然后根据返回一个map给前端。前端解析数据,返回数据给iframe  再 reload 表格数据

之前一直很好,没有出现问题,但是后台处理数据越来越多。延缓了返回数据的时间。

关键问题:

 var submit = function () {

 var success = true;

ajax(xxx){

if(xxx)

{

success = false

}xxxx

}

return success;

}

这里产生了问题:因为默认是异步的,所以执行下去没返回成功就 return了

所以 iframe 接收到的永远是success  执行 reload的时候  数据还没有执行  数据显示不刷新

解决办法:

1.async:false,  不异步执行,好处简单,坏处在高并发的时候延迟很多

2.想办法把 var submit   变成return 在异步之内的方法

 

posted @ 2019-08-22 22:14  沙师弟demo  阅读(842)  评论(0编辑  收藏  举报