我有这样的话:$('#select1').on('change', function() {})并且它工作得很好。但是,我需要在函数完成后运行另一个函数。我考虑过把函数的内容放入一个命名函数中,然后把第二个函数也这样做,把它们放入匿名函数中:
$('#select1').on('change', function() {})
$('#select1').on('change', function() { function1 (); function2 (); });
然而,我希望有另一种方法。上面的似乎与jQuery不一致。
jjjwad0x1#
虽然可以使用回调来嵌套函数,但jQuery中的最佳实践通常是使用jQuery.Deferred。
jQuery.Deferred
var function1 = function() { var deferred = $.Deferred(); //Do your thing. When finished, call deferred.resolve() return deferred; } var function2 = function() { //Function 2 code } $('#select1').on('change', function() { function1().then(function2); });
7z5jn7bk2#
为什么不尝试jquery更改函数而不是javascript绑定函数()中的参数函数1();函数2()});
icnyk63a3#
试试看:
$('#select1').on('change', function() { function1(someVariable, function() { function2(someOtherVariable); }); }); function function1(param, callback) { //...do stuff callback(); }
我在这里发现:Call a function after previous function is complete
3条答案
按热度按时间jjjwad0x1#
虽然可以使用回调来嵌套函数,但jQuery中的最佳实践通常是使用
jQuery.Deferred
。7z5jn7bk2#
为什么不尝试jquery更改函数而不是javascript绑定
函数()中的参数
函数1();函数2()
});
icnyk63a3#
试试看:
我在这里发现:Call a function after previous function is complete