【发布时间】:2012-05-16 14:03:14
【问题描述】:
这是一个简单的问题,但我只看到用复杂的具体示例回答过这个问题。
我想依次运行三个函数,一个在前一个完成之后。
f1();
f2();
f3();
我真的很难用 javascript(/jquery) 做?!即使我将 f1 定义为:
function f1(){
f1s normal code;
f2();
}
它仍然会在 f1 完成工作之前启动 f2。我试过 .whens 和 .done 或 .thens。我尝试制作回调函数并取得了一些成功。但如果有人能清楚地回答这个简单的例子,那对我理解会有很大帮助。 提前致谢!
【问题讨论】:
-
不会....
js没有并行编程。 -
除非它们做异步操作,否则它们将按顺序运行。即使它们执行异步操作,它们也会按顺序运行,只是看起来可能不像。
-
我建议,因为 JavaScript 是单线程的,它应该(据我所知)通过函数线性工作,因为它们是在文档/脚本中找到/解析。所以它当然应该不在'完成'
f1()之前执行f2()。 -
如果他们正在做一些异步的事情,异步调用应该有一个回调函数,当它完成时触发。
-
@JamesAllardice。措辞好!
标签: javascript jquery function