Raj*_*Raj 2 jquery function callback call
嗨我试图调用两个用户定义的函数,并期望第一个必须首先执行,然后第二个...但它们同时执行.
$.firstfunc = function(){
//Do something
//jQuery.ajax({
});
$.secondfunc = function(){
//Do something
jQuery.ajax({
});
$.(document).ready(function(){
$.firstfunc();
$.secondfunc();
});
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
谢谢!
Ray*_*nos 10
警告:需要jQuery 1.5+
$.firstfunc = function() {
return $.ajax({});
}
$.secondfunc = function() {
return $.ajax({});
}
$(function() {
$.when($.firstfunc).then($.secondfunc);
});
Run Code Online (Sandbox Code Playgroud)
使用$.Deferred
's和'的黑魔法$.when
.
它基本上说当你第一个函数完成它的ajax调用然后调用第二个函数.
这是因为$.ajax
返回一个jqXHR
继承自的对象$.Deferred
.
如果您要附加一个回调时都$.firstfunc
和$.secondfunc
完整的,那么你可以做以下(需要的jQuery 1.6):
$(function() {
$.first().pipe($.second).done(function(second_data) {
// both finished.
});
});
Run Code Online (Sandbox Code Playgroud)
遗产: jQuery 1.4.2和1.3.2支持.
$.firstfunc = function(cb) {
$.ajax({
success: function() {
...
cb();
},
...
});
}
$.secondfunc = ...
$(function() {
$.firstfunc($.secondfunc);
});
Run Code Online (Sandbox Code Playgroud)