为了账号安全,请及时绑定邮箱和手机立即绑定

需要依次调用多个api,在javascript中一个接一个

需要依次调用多个api,在javascript中一个接一个

慕标琳琳 2022-11-11 16:21:20
我需要在javascript中一个接一个地依次调用多个api。一个人的反应可能需要作为另一个人的输入。有人可以建议或提供示例代码。我尝试使用 .fetch() api,但发现很难将一个 api 的响应传递给另一个。
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

利用apipromises原生返回fetch,多个请求可以一个接一个的链接


var result = fetch('api/url1') // First request

    .then(function (response) {

        return response.json();

    })

    .then(function (data) {

        var secondId = data.someId

        return fetch('api/url2' + secondId); // Second request

    })

    .then(function (response) {

        return response.json();

    })

    .then(function (data) {

        var thirdId = data.someId

        return fetch('api/url3' + thirdId); // Third request

    })

    .then(function (response) {

        return response.json();

    })

    .then(function (data) {

        // Response of third API

    })

    .catch(function (error) {

        console.log('Error', error)

    })


查看完整回答
反对 回复 2022-11-11
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

尽管答案已被接受,但请尝试async await这样。


(async () => {

  // first

  const res = await fetch("https://reqres.in/api/users/1");

  const result1 = await res.json();

  

  console.log("Result 1", result1);

  

  // some logic ...

  

  // second 

  const res2 = await fetch("https://reqres.in/api/users/2");

  const result2 = await res2.json();

  

  console.log("Result 2", result2);

  // ... so on ...

})();


查看完整回答
反对 回复 2022-11-11
  • 2 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号