通过AJAX函数环回-导致无限循环

时间:2018-10-09 10:11:10

标签: javascript jquery

我是如此坚持。我有一个functionA,我想调用functionB(我的API调用),并让它返回数据结果。 API是“队列”和“获取”类型。它应该像这样运行:

  1. 使用“队列”类型运行API查询
  2. 收集返回的报告ID
  3. 使用“获取”类型和reportID运行API查询
  4. 将数据收集到我的功能中

这是我当前的代码:

function myfunction() {
  var ref;
  var type = "queue";
  var metric = "pageviews";
  var post = getReport(ref, type, metric);
    post.done(function (r) {
        console.log (r);
        }
    );
}

function getReport(ref, type, metric) {
   return $.ajax({
        url: "report.php", 
        dataType: 'json',
        data: { 
            ref: ref,
            type: type, 
            metric: metric
        }
    });
}

这很好。但是,对于查询的第二部分,我无法使循环正常工作。这是我尝试过的:

function myfunction() {
  var ref;
  var type = "queue";
  var metric = "pageviews";
  var post = getReport(ref, type, metric);
    post.done(function (r) {
        if (type == "queue")
        {
        myfunction(r.reportID,"get");
        }
        else if (type == "get")
        {
        console.log(r);
        }
    );
}

我一直在覆盖type的值,这似乎会导致无限循环。

1 个答案:

答案 0 :(得分:1)

这是一个链接(实际上是嵌套)API调用的基本解决方案:

{{ device.role_output }}

(我正在猜测您的API的工作方式/返回的内容,但它应该足够容易安装)