以正确的顺序触发查询/JavaScript函数

firing query / javascript functions in the right order

本文关键字:查询 JavaScript 函数 顺序      更新时间:2023-09-26
这是一个

简单的问题,但我只看到一个用复杂的具体例子来回答的问题。

我想按顺序运行三个函数,一个在前一个函数完成后运行。

f1();
f2();
f3();

我真的很难用javascript(/jquery)?!即使我将f1定义为:

function f1(){
f1s normal code;
f2();
}

在 F1 完成工作之前,它仍将启动 F2。我已经尝试过 .whens 和 .done 或 .thens。我尝试制作回调函数并取得了一些成功。但是,如果有人能干净利落地回答这个简单的例子,那将极大地帮助我理解。提前感谢!

只要 3 个方法的主体中没有运行异步代码,它们将始终按顺序运行。 如果您有异步代码(即 ajax 调用),那么您需要使用回调方法。

您需要使用回调,也许这会有所帮助?

http://jsfiddle.net/2heHs/

另请参阅:https://github.com/leesherwood/jquery-function-stack

这是我在github上搞砸的东西。它并不是真的打算让每个人都使用,因为我主要需要它用于私人项目。但是,如果您可以理解它,请随意使用它。当我有时间时,我会让它更干净并添加更多的东西。当然,你需要使用jquery来使用它。

JavaScript本质上

是单线程和顺序的。 解决这个问题的唯一方法是Ajax和HTML5工作者。

话虽如此,如果你想按顺序运行三个独立的函数,JavaScript本质上就是这样做的:

var func1 = function () {
    console.log('func1 ran');
};
var func2 = function () {
    console.log('func2 ran');
};
var func3 = function () {
    console.log('func3 ran');
};
// run them in order
func1();
func2();
func3();

http://jsfiddle.net/jbabey/cxxLY/