【发布时间】:2016-01-27 08:14:57
【问题描述】:
我正在 React 中创建一个 Web 应用程序,它需要处理 2 个 API 调用,其中一个调用依赖于另一个。第一个 API 调用将从 OpenWeather API 获取数据 - 然后第二个 API 调用将使用该回调数据来调用 Spotify 的 API。
如何在 React 中设置这个嵌套/依赖的 API 调用?我可以在第一个API调用的成功函数下运行ajax调用吗?还是我需要创建一个处理第二个 API 的新组件,它会以某种方式从第一个 API 调用中获取数据?
// Making the API call to OpenWeather API:
var CityInfo = React.createClass({
getInitialState: function() {
return {data: {}};
},
loadCityInfo: function(e){
var city = $(e.currentTarget).data('city');
$.ajax({
url: 'http://api.openweathermap.org/data/2.5/weather?q='+city,
method: 'GET',
success: function(result) {
this.setState({data: result});
console.log(result);
}.bind(this)
});
},
render: function() {
return (
<div>
<h2><button onClick={this.loadCityInfo} data-city={this.props.info.name}>{this.props.info.name}</button></h2>
</div>
);
}
});
【问题讨论】:
-
“可以在第一次API调用成功函数下运行ajax调用吗?” 当然可以。
success函数只是另一个函数。您可以在其中执行任何其他 JavaScript。
标签: javascript api reactjs