gpt4 book ai didi

javascript - 如果在 ajax 调用期间显示警告窗口会怎样?

转载 作者:IT王子 更新时间:2023-10-29 02:59:06 26 4
gpt4 key购买 nike

我只是想知道如果在执行 ajax 调用时在浏览器窗口中向用户提示警告会发生什么情况。

例如,假设我有一个 ajax 调用

$.ajax({
url: ...,
type: GET/POST,
...
success: function(data){
console.log(data);
},
error: ...
});

这需要很长时间才能完成(10 秒)。执行调用时,会抛出一个简单的 javascript 警报

alert("hello!");

例如如果发生什么情况:

  1. ajax 调用开始
  2. ajax调用获取数据
  3. 显示警报
  4. ajax 调用返回数据(警告窗口仍然打开!)

知道 JS 是单线程的我知道脚本执行将停止,我只是想知道如果警报窗口没有“及时”关闭,ajax 调用/响应会发生什么。

我希望我说得够清楚,这不是一个“虚拟”问题。谢谢

最佳答案

这并不难尝试...但答案是警报将优先并阻止执行流程。

关闭警报后,假设在警报打开时 AJAX 请求已完成,则将处理 success 函数(或 error 函数)。

请注意,AJAX 请求将在显示警报时继续运行(因此长时间运行的 AJAX 可以在警报打开时进行处理),但这只是您的脚本无法继续处理请求,直到警报关闭。

Here is a working example ,请注意,在警报关闭之前,数据不会写入控制台。

另一点需要注意的是,警报关闭后,脚本将继续执行其余功能(警报 之后的代码)之前处理 AJAX 响应。 This helps demonstrate what I mean

关于javascript - 如果在 ajax 调用期间显示警告窗口会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801386/

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