在JavaScript中调用回调参数时出错

在JavaScript中调用回调参数时出错,javascript,callback,Javascript,Callback,这是我的密码: function getStatus(csrfToken, onSuccess) { $("#statusItemsList").html(""); statusData = {}; postData = { table: getArgs().table, csrfmiddlewaretoken: csrfToken }; if (getArgs().table) { $.post(STATUS_URL, postData, func

这是我的密码:

function getStatus(csrfToken, onSuccess) {
  $("#statusItemsList").html("");
  statusData = {};
  postData = {
    table: getArgs().table,
    csrfmiddlewaretoken: csrfToken
  };

  if (getArgs().table) {
    $.post(STATUS_URL, postData, function(data) {
      if (data.items.length < 1) {
        $("#statusTable").hide();
        $("#empty-status").show();
        onSuccess(null);
      } else {
        $("#empty-status").hide();
        $("#statusTable").show();
        for (i = 0; i < data.items.length; i++) {
          statusData[data.items[i].itemId] = data.items[i].itemStatus;
        }
        onSuccess(statusData);
      }
    });
  }
}

请帮忙。谢谢。

你在用巴贝尔吗?您的浏览器支持es6吗?如果没有,请尝试使用预定义函数调用“getstatus”函数

function func(){
//blah blah
}
    getstatus("token", func);

您如何调用
getStatus
?听起来你没有给它传递函数……第二个参数必须是函数对象<代码>获取状态('tokenHere',函数(状态){//…状态})寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。我这样调用它:getStatus(“token”,(data)=>{};无法复制:;请添加显示实际问题的。我的浏览器支持es6。不,我没有用巴贝尔。您的解决方案是有效的,但是为什么(数据)=>{}不起作用呢?我使用箭头函数创建了一个测试,它们起作用了。如果您在支持es6的浏览器中运行应用程序,那么我唯一的猜测是运行时读取函数的方式有问题。您可以在console.log中记录箭头函数的类型,以确保它被视为“函数”。对不起,我帮不上什么忙了。我没有恰当地称呼它。谢谢
function func(){
//blah blah
}
    getstatus("token", func);