JavaScript - 等待执行

时间:2014-06-10 17:08:00

标签: javascript ajax sleep

我有以下代码:

function foo() {
    setTimeout(function() {
        console.log("a");
    }, 0);
    console.log("b");
    console.log("c");
}

在我的控制台中,我得到以下结果:

b
c
undefined
a

我需要得到以下结果:

undefined
a
b
c

要打印的命令" b"和" c",需要留在root foo函数中。

怎么做?

-

上述案例简化了我的需要。

1 个答案:

答案 0 :(得分:-2)

function bar(){
    that = this;
    this.printed = undefined;

    this.foo = function() {
        if (typeof this.printed === "undefined") {

            this.printed = false;

            console.log("a");

            setTimeout(function() {
                that.printed = true;
                that.foo();
                return undefined;                
            }, 0);
        }


        if(this.printed == true) {
            console.log("b");
            console.log("c");
            this.printed = undefined;
        }
    }
}

new bar().foo()