记一次前端ajax禁止使用异步async的操作
Posted sunshine99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次前端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 在异步之内的方法
以上是关于记一次前端ajax禁止使用异步async的操作的主要内容,如果未能解决你的问题,请参考以下文章