我很难完成以下任务。我有三个功能
function f1(param1) {
    var d = $.deferred();
    // ajax call with data param1
   d.resolve(res0, res1);
    return d.promise();
}
function f2(param2) {
    var d = $.deferred();
    // ajax call with data param2
    d.resolve(res2);
    return d.promise();
}
function f3(param3) {
   var d = $.deferred();
   // ajax call with data param3
   d.resolve(res3);
   return d.promise();
}
我像这样运行它们:
$.when(f1(param1),f2(pram2),f3(param3)).done(function(res,res2,res3){
});
我的要求是:
如果 res2 是空运行f2(res[1])。完成后显示res[0] + f2(res[1]) +  res3
否则显示res[0] + res2 + res3
有没有人可以使用 jQuery/promises 帮助我解决这个问题?
谢谢