叠加两个异步调用

时间:2018-03-20 09:51:08

标签: javascript ajax

我正在调用twitch TV API来从一个端点获取用户信息,我还想在同一个API中调用另一个端点以检查这些用户是否正在直播,但仅限于第一个ajax调用是成功的。任何人都可以给我一个暗示如何做到这一点?我的第一个电话如下:

var getUserInfo = $.ajax({
    type: "GET",
    url: "https://api.twitch.tv/helix/users/?login=ESL_SC2&login=freecodecamp&login=noobs2ninjas",
    // contentType: ('application/x-www-form-urlencoded; charset=UTF-8'),
    crossDomain: true,
    headers: {
        "Client-ID": "5k4g3q59o69v6p9tudn39v50ro1mux",
    },
    dataType: "json",
    success: function (json) {
        console.log(JSON.stringify(json, null, 2));
    },
    error: function () {
        console.log("OOPS!!!");
    },
})

2 个答案:

答案 0 :(得分:1)

使用回调设计构建jQuery ajax函数来处理其异步性。您有两个回调,成功和错误,当您收到Twitch API的响应时会触发其中一个回调。如果你想根据你以前的请求是否成功再做一个ajax请求,那么你可以在成功回调函数中写一个非常相似的ajax请求,指向你想要访问的新位置。我建议将其拆分为单独的函数,以保持代码的可读性。

答案 1 :(得分:0)

成功功能仅在呼叫成功时运行。

从成功函数中触发第二个请求的代码。