javascript - 从第一个 api 获取数据后进行第二次 api 调用

标签 javascript reactjs api

我有第一个 API 调用,它为我获取了一些数据,一旦我从这个 api 获取了数据,我就需要进行第二个 api 调用。它必须连续发生,而不是并行发生。我们如何在 React ComponentDidMount 中做到这一点? 我正在听 firebase 。 让我们假设第一个 api 为我提供了一个 matchId,现在我们需要使用这个 matchid 在第一个 api 调用之后进行第二次调用,而无需任何点击。

假设这是我的第一次 Firebase 调用。

const cardsListener = 
        getDATA()
        .onSnapshot( (doc)=>{
            console.log("doc is ",doc);
            let data = doc.data();
            console.log("data",data);
            this.setState({
                 datainstate:data
            });
        });

最佳答案

感谢 async/await,您可以等待操作完成。

componentDidMount() {
  this.firstApiCall()    
}

async firstApiCall() {
  await fetch("http://myurl.com", {
     method: 'POST',
     body: JSON.stringify(data), // data can be `string` or {object}!
     headers:{
       'Content-Type': 'application/json'
     }
   })
   .then(res => res.json())
   .then((responseJson) => {
     //if it worked
     this.secondApiCall()
   })
   .catch(error => console.error('Error:', error))
}

secondApiCall() {

}

关于javascript - 从第一个 api 获取数据后进行第二次 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57143607/

相关文章:

php - Slim 3 框架——我应该为我的 API 使用路由组吗?

javascript - 为什么这个 Javascript 循环需要一分钟进行 100 次迭代?

javascript - Jquery/AJAX PHP 域检查器

php - 在 PHP 中为 JSON 对象分配标识符/名称

javascript - 如何处理 typescript 中的状态?

c# - 集成测试基于 ASP.NET MVC 的 api 的正确方法是什么?

java - 使用条件查询现有触发器的quartz

javascript - 一个网站可以同时使用简单的 JavaScript 和 React 吗

google-maps - React-google-maps +redux - 获取新位置时如何将 map 居中?

javascript - 在 React 中映射元素时,如何根据特定索引处的字段有条件地渲染节点?