Ash*_*ish 20 jquery deferred-loading deferred-execution
我正在尝试为以下场景实现jQuery Deferred.pipe()方法:
这是我尝试过的东西:
var addUserSuccess = function( data ) {
if ( data.returnCode !== "success" ) {
return $.Deferred().reject('Error saving user');
}
getUsers();
}
var addUser = function() {
return $.ajax(url, {
type: "POST",
data: { username: 'test' },
contentType: "application/json",
dataType: "json"
});
}
var displayUsers = function( data ) {
$('#myTmpl').tmpl(data.d).appendTo('#myDiv');
}
var getUsers = function () {
return $.ajax(url, {
type: "GET",
data: {},
contentType: "application/json",
dataType: "json"
});
}
$.when(addUser()).pipe(addUserSuccess).then(displayUsers)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我知道有些东西遗失或错误.有帮助吗?
Jul*_*urg 20
在addUsersSuccess中,您应该返回getUsers.这是一个简单的错字,你完全正确的主要想法,并使用管道,它应该是很好:)