大神解答 jQuery deferrd resolve done

var defer = jQuery.Deferred();
defer.done(function(a,b){
return a * b;
}).done(function( result ) {
console.log("result = " + result);
}).then(function( a, b ) {
return a * b;
}).done(function( result ) {
console.log("result = " + result);
}).then(function( a, b ) {
return a * b;
}).done(function( result ) {
console.log("result = " + result);
});
defer.resolve( 2, 3 );

为啥第一个done return return a * b; 第二个alert result=2; 问3跑哪去了?

求大神对resolve()的参数 做下详解

对于done结果返回只是判断是否成功。不作为后续参数传递,传入的参数还是done函数前的。
then的结果是传递到后续函数的。

http://api.jquery.com/deferred.resolve/

http://www.cnblogs.com/losesea/p/4415676.html