JavaScript 流程或执行

标签 javascript html css ajax dom-events

如果我有一个JS函数如下;

function testFn()
{
x.ajaxMethod(param1,JScallBackFunction); //Please do not worry about the syntax..this just indicates an external method call
alert("Line after ajaxMethod");
}

ajaxMethod(),可以说是在外部 Java 文件中定义的某种方法(因此它可以通过 DWR 或任何方式)返回一些数据...要点是它需要一些是时候执行这行代码了...

现在我的问题是下一行的警报何时会被触发(即 alert("Line after ajaxMethod");)

  1. 它会等待这两件事完成吗(ajaxMethod 执行以及 JScallBackFunction)
    或者
  2. 它会立即触发,而无需等待上述 2 件事情中的任何一件完成?

此外,如果您能提供有关 JavaScript 方法流程执行的一般性指导,那就太好了。

最佳答案

这取决于。 Ajax 调用通常是异步的,这意味着在异步函数返回之前不会暂停代码的执行。因此警报将立即执行。

javascript 中的异步函数通常与 Ajax 和从远程服务器加载内容有关。如果您确实希望在加载该内容时强制 JavaScript 等待,那么您可以为 XMLHTTPRequest 对象设置一个标志。

这是一个值得阅读的好问题:When is JavaScript synchronous?

关于JavaScript 流程或执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6421801/

相关文章:

javascript - 内容未加载,因为其 MIME 类型 "text/html"不是 "text/css"

javascript - JS/JQuery 文本转语音 : How to chain audios?

javascript - 将 iframe 插入到 div 的底部

html - 创建 2x2 流体布局并填满整个屏幕

html - 如何用CSS将右边的div向右移动

css - ROR Bootstrap 单选按钮对齐

javascript - Node.js 服务器重启基础知识错误处理

javascript - 如何从开始日期中的单独字段添加天/周以获取日期选择器中的结束日期?

javascript - <div> 下面有高斯模糊

html - Twitter 卡片预览无法获取我的图像