在JavaScript中调用回调争论时出错

时间:2017-06-21 15:43:22

标签: javascript callback

这是我的代码:

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);
      }
    });
  }
}

当我调用此功能时,控制台显示

  

onSuccess不是函数

我正在调用函数:

getStatus("token", (data)=>{  });

请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

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

#include <iostream>
#include <range/v3/all.hpp>

using namespace ranges;

template <typename F, typename R, typename T>
T rec_map_sum(F f, R r, T tally) {
  if (ranges::begin(r) == ranges::end(r))
    return tally;
  else {
    auto r_head = *ranges::begin(r);
    auto r_tail = r | view::drop(1);
    return rec_map_sum(f, r_tail, tally + f(r_head));

    // this also crashes:
    // return rec_map_sum(f, r[{1, end}], tally + f(r_head));
  }
}

int main() {
  std::cout << rec_map_sum([](int x) { return x * x; }, view::iota(0, 10), 0)
            << std::endl;

  return 0;
}