Javascript $。申请单一申请时

Javascript $。申请单一申请时,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图在代码中应用时使用$。但是,对于单个请求和多个请求,返回的格式似乎有所不同。我怎样才能满足它??我试着不要再有另一个,如果不是的话 $.when.apply(null, apiRequestList).then(function () { for (var i = 0; i < arguments.length; i++) { var value = arguments[0]; } }); $.when.apply(null,APIRestList)。

我试图在代码中应用时使用
$。但是,对于单个请求和多个请求,返回的格式似乎有所不同。我怎样才能满足它??我试着不要再有另一个,如果不是的话

$.when.apply(null, apiRequestList).then(function () {
    for (var i = 0; i < arguments.length; i++) {
       var value = arguments[0];
    }
});
$.when.apply(null,APIRestList)。然后(函数(){
for(var i=0;i
这是我不想做的

if (apiRequestList.length === 1) {
    $.ajax({

    });
} else {
    $.when.apply(null, apiRequestList).then(function () {
        for (var i = 0; i < arguments.length; i++) {
           var value = arguments[0];
        }
    });

}
if(apiRequestList.length==1){
$.ajax({
});
}否则{
$.when.apply(null,APIRestList).then(函数(){
for(var i=0;i
APIRestList
的长度为1:

$.when.apply(null, apiRequestList).then(function() {

    var _arguments = Array.prototype.slice.call(arguments);
    if (Array.isArray(apiRequestList) && apiRequestList.length === 1)
        _arguments = [arguments];

    for (var i = 0; i < _arguments.length; i++) {
        var value = _arguments[i][0];
        console.log(value);
    }
});

不清楚你所关心的区别是什么。从
$返回的对象。when()
根据传递的是单个承诺还是多个承诺而有所不同,但是如果将结果参数传递给后续的
。那么
回调将始终只是承诺的解析值列表。只需在
时删除
$,然后使用
承诺。所有
都将改为使用
\u arguments=Array.prototype.slice.call(arguments),这不是更好吗:
\u arguments=Array.prototype.slice.call(arguments)
?@A.Wolff没有必要,您可以迭代
参数
很好
function x(a) {
  return $.post("/echo/html/", {
    html: "a = " + a,
    delay: Math.random()
  });
}
function doIt(apiRequestList) {
  $.when.apply(null, apiRequestList).then(function() {

      var _arguments = arguments;
      if (Array.isArray(apiRequestList) && apiRequestList.length === 1)
          _arguments = [arguments];

      for (var i = 0; i < _arguments.length; i++) {
          var value = _arguments[i][0];
          console.log(value);
      }
      console.log("----");
  });
}
doIt([x(1), x(2), x(3)]);
doIt([x(4)]);
a = 4 ---- a = 1 a = 2 a = 3 ----