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

Javascript 如何使Ajax的某些部分同步发生,而前端逻辑异步发生?,javascript,ajax,asynchronous,Javascript,Ajax,Asynchronous,我有一个网站,我想通过几个环境检查登录凭据,但在同一时间,显示一个加载gif 问题是,如果我让ajax同步或 async: false, 然后页面的其余部分暂停,直到检查凭据为止 我尝试将ajax调用切换回异步,它会过早地显示一个假阴性错误,用户没有登录,因为它没有完成所有环境的检查 我还尝试了一种带的创可贴解决方案。 setTimeout(loginCheckFunction, 600) 但这是任意的计时,如果用户连接速度慢,错误将持续存在 有没有关于如何在不等待同步Ajax完成的情况下运

我有一个网站,我想通过几个环境检查登录凭据,但在同一时间,显示一个加载gif

问题是,如果我让ajax同步或

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

我尝试将ajax调用切换回异步,它会过早地显示一个假阴性错误,用户没有登录,因为它没有完成所有环境的检查

我还尝试了一种带

的创可贴解决方案。
setTimeout(loginCheckFunction, 600)
但这是任意的计时,如果用户连接速度慢,错误将持续存在

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

编辑: 我认为我的问题在很大程度上被这个问题无意中解决了:

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

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


HTML5Rocks'是一本非常有趣的书,适合你的需要,如果你愿意学习新概念的话。@Xan,我来看看,谢谢你的提示!这是问题的一个重大变化。您可能需要修改标记。我删除了对Chrome扩展的引用,所以我去掉了该标记,还有Jquery,因为我认为这些标记与问题的核心特别无关。不过,我不愿意完全删除该问题。我一直在使用for循环遍历一系列ajax端点URL。我想我可以把它们一个接一个地硬编码,我一直在避免这样做,但我会看看这个替代方案,谢谢!