我有以下代码:
getTrainPlanDetail: function(id){
var df = new $.Deferred();
$.post( config.api, addJSONHeaders("detail_fiche_entrainement",{"idRequete": id}), function(data){
if (ajaxEval(data)){
df.resolve(data);
} else {
df.fail(data);
}
}, 'json').fail(function(jqXHR, textStatus, errorThrown){
df.fail();
});
return df.promise();
},
缩小后,它会转换为:
getTrainPlanDetail: function(a) {
var b = new $.Deferred;
return $.post(config.api, addJSONHeaders("detail_fiche_entrainement", {idRequete: a}), function(a) {
ajaxEval(a) ? b.resolve(a) : b.fail(a)
}, "json").fail(function() {
b.fail()
}), b.promise()
}
您是否注意到退货的问题? 我想返回b.promise();不是$ .post 有人能告诉我为什么会这样吗?对我来说没有意义。
答案 0 :(得分:9)
你 返回b.promise()
。 minifier正在使用返回其最后一个操作数的comma operator:
return 1, 2; // returns 2
return 1, 2, 3; // returns 3