似乎在编辑对象then()
时回调没有触发。我的理解是无论解决还是拒绝都应该执行。Deferred
reject
then()
Deferred
这是一个示例(在 jsFiddle 控制台中打开)
var doDfd = function(input){
var dfd = $.Deferred();
if(input == 'fail'){
dfd.reject();
}
else{
dfd.resolve();
}
return dfd.promise();
}
doDfd('fail')
.done(function(r){console.log('success')})
.fail(function(r){console.log('fail')})
.then(function(r){console.log('then logic')});