我正在尝试使用 this API 获取有关航天飞机的信息。我使用 axios 获取有关航天器的信息,但收到状态 429 错误。我研究了一下,发现是status 429的错误,是你调用API的次数太多了,但是我的代码只调用了一次。。。请各位高手给我解决这个问题的建议?
代码:
import React from 'react'
import { View,Text,Alert,flatList,StyleSheet } from 'react-native'
import axios from 'axios'
export default class SpaceCraftScreen extends React.Component {
constructor() {
super()
this.state = {
spaceCraftData: {}
}
}
getSpaceCraftData = async () => {
axios
.get("https://ll.thespacedevs.com/2.2.0/config/spacecraft/")
.then(response => {
this.setState({spaceCraftData:response.data.results})
console.log(this.state.spaceCraftData)
})
.catch(error => {
Alert.alert(error.message)
})
}
componentDidmount = () => {
this.getSpaceCraftData()
//setInterval(() => {this.getSpaceCraftData()},10000)
}
render() {
if(Object.keys(this.state.spaceCraftData).length === 0) {
return(
<View>
<Text style = {{textAlign:'center',marginTop:50,fontSize:50,fontWeight: 'bold'}}>Loading data</Text>
</View>
)
}
else {
let craftArray = Object.keys(this.state.spaceCraftData).map(craftData => {
return this.state.spaceCraftData[craftData]
})
let spaceCrafts = [].concat.apply([],craftArray)
spaceCrafts.sort(function(a,b) {
a.agency.founding_year - b.agency.founding_year
})
console.log("SpaceCrafts: "+spaceCrafts)
spaceCrafts.slice(0,10)
return(
<View>
</View>
)
}
}
}