记一次前端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的操作的主要内容,如果未能解决你的问题,请参考以下文章

ajax基础一

jQuery的ajax async同步和异步介绍

记一次.net core 集成vue 实践

async/await 来处理异步/同步

了解前端JavaScript中异步编程的发展

前端开发:解决异步回调必备技能——Async/Await和Promise