gpt4 book ai didi

javascript - 如何让 Ajax 的某些部分同步发生,而前端逻辑异步发生?

转载 作者:行者123 更新时间:2023-12-03 11:47:05 24 4
gpt4 key购买 nike

我有一个网站,我想在多个环境中检查登录凭据,但同时显示加载 gif。

问题是,如果我使 ajax 同步,或者,

async: false,

然后页面的其余部分将暂停,直到检查凭据为止。

我尝试将 ajax 调用切换回异步,它会过早地显示用户未登录的误报错误,因为它尚未完成对所有环境的检查。

我还尝试了一种创可贴解决方案

setTimeout(loginCheckFunction, 600)

但这是任意时间,如果用户连接速度较慢,错误将会持续存在。

关于如何在不等待同步 Ajax 完成的情况下运行某些部分的任何想法?谢谢!

编辑:我认为这个问题几乎无意中解决了我的问题: How to display 'Loading' when making a 'synchronous' AJAX call in pure JavaScript?

编辑2:我通过使用上述问题的最佳答案来回避这个问题。我在父函数的开头提供了一个非常小的 setTimeout 函数,调用基于 ajax 的同步登录检查,在此期间可以启动“正在加载”gif,并在 ajax 运行时同时查看。但根据给出的答案,从最严格的意义上来说,它不是同时运行的,浏览器只是提供了这种错觉。对于 future 的人可能会遇到类似的问题,我从应用于子函数的 setTimeout 转换为应用于父函数上一级的 setTimeout。

最佳答案

您是否尝试过在另一个 ajax 调用结束后执行一个 ajax 调用?首先,您显示加载屏幕并依次执行 ajax 调用。在最后一次调用中,您隐藏了加载。通过这种方式,您可以并行化所有 ajax 调用,验证每个 channel 。

You can use the Ajax Queue plugin

关于javascript - 如何让 Ajax 的某些部分同步发生,而前端逻辑异步发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26003034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com