JavaScript:一个接一个地执行多个REST调用的正确方法

JavaScript:一个接一个地执行多个REST调用的正确方法,javascript,ajax,rest,Javascript,Ajax,Rest,我需要一个接一个地执行三个REST调用。。。阅读文档后,我了解到要链接它们,我必须使用pipi或then(这是pipe的别名)。我对JavaScript非常陌生,我想知道下面的代码片段是否正确: var baseUrl = "http://localhost:9000/auth"; var appId = this.appId $.ajax({ type: "GET", url: baseUrl + "/apps/" + appId + "/apikey" }).then(functio

我需要一个接一个地执行三个REST调用。。。阅读文档后,我了解到要链接它们,我必须使用
pipi
then
(这是
pipe
的别名)。我对
JavaScript
非常陌生,我想知道下面的代码片段是否正确:

var baseUrl = "http://localhost:9000/auth";
var appId = this.appId
$.ajax({
  type: "GET",
  url: baseUrl + "/apps/" + appId + "/apikey"
}).then(function(data) {
  log("apiKey: " + data.apiKey);
  $.ajax({
    type: "POST",
    data: JSON.stringify({ principal: appId, secret: data.apiKey }),
    url: baseUrl + "/apps/credentials",
    contentType: "application/json"  
  }).then(function(data) {
    log("token: " + data.token);
    $.ajax({
      type: "GET",
      headers: { "Authorization": "Token " + this.value },
      url: baseUrl + "/users/credentials"
    }).then(function(data) {
      log("tokeType: " + data.token.header.typ.split('/')[1]);
      log("exp: " + data.token.claims.exp);
    })
  })
});
如您所见,每个调用都需要上一个调用返回的数据。任何改进建议都是非常受欢迎的。

使用,无论ajax调用成功还是失败,您都会收到一个回调,这可能并不理想,因为您依赖于它的成功。如果只希望在成功时回调(即,
success
参数)

除此之外,没关系