Как выполнить функцию после завершения первой функции? - PullRequest
0 голосов
/ 26 ноября 2011

У меня есть функция JavaScript func1():

function func1() {
    do some stuff;
}

и другая функция JavaScript func2().

function func2() {
    do some other stuff;
}

После завершения func1(), как я могу позвонить func2()?

Я знаю, как определить обработчик обратного вызова для таких событий, как «onclick», но я не знаю, как вызвать func2() после полного выполнения func1().

Ответы [ 3 ]

2 голосов
/ 26 ноября 2011

Альтернативный метод тому, что предложили другие (вызов глобальной функции в конце первой функции):

function f1(callback) {
    //do some stuff
    callback();
}

function f2() {
    //do some other stuff
}

f1(f2);
2 голосов
/ 26 ноября 2011

Либо:

function func1() { 
    // Everything else
    func2();
}

или

func1();
func2();

, либо, если func1 делает что-то асинхронное, вам нужно каким-то образом определить, когда оно закончится.Вероятно, это потребует настройки обработчика событий, но специфика очень сильно зависит от того, что на самом деле делает функция.

1 голос
/ 26 ноября 2011

javascript не является многопоточным, поэтому я не вижу, в чем здесь сложность.Вы должны быть в состоянии сделать это:

function func1() {
    do some stuff;
    func2();
}
function func2() {
    do some other stuff;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...