Я хочу передать функцию другой функции в качестве параметра.
Я хочу сделать это, потому что последняя функция вызывает метод async JQuery и AFTER, который возвращает результат, я хочу, чтобы какой-то код javascript выполнялся.
И поскольку эта функция вызывается из нескольких мест, я хочу, чтобы код выполнялся (после запуска кода async JQuery), который должен быть передан в функцию. Имеет смысл? я надеюсь:)
Теперь видно, что порядок выполнения кода не является тем, что я хочу. Я упростил код для этого кода:
$('#AddThirdParty').click(function() {
var func = new function() {
alert('1');
alert('2');
alert('3');
}
alert('4');
LoadHtml(func);
alert('5');
});
function LoadHtml(funcToExecute) {
//load some async content
funcToExecute;
}
Теперь то, что я хотел достичь (или, по крайней мере, то, что, как я думал, произойдет), это то, что alert4 будет срабатывать, тогда loadhtml будет запускать alert1, alert2 и alert3, а затем код вернется в alert5.
Но происходит следующее: alert1, alert2, alert3, alert4, alert5.
Кто-нибудь знает, что я делаю неправильно, и почему это порядок, в котором выполняется код?
Похоже, что alert1..alert3 выполняется, когда я определяю new function()
, но почему он НЕ ТАКЖЕ выполняется, когда я вызываю его из функции LoadHtml
?