【发布时间】:2020-05-15 12:08:43
【问题描述】:
我有一个变量details,需要通过向“/abc”发送获取请求来填充它。之后我需要访问details 变量中的值以将其他请求发送到'/def'。
我无法理解我该怎么做。
我正在使用两个独立的函数。首先是updateDetails(),它更新了details 状态,我称之为componentDidMount()。第二种方法是sendOtherRequests(),我需要在details 具有所有值之后调用它。
问题是我在componentDidMount() 中添加了这两个函数,但由于它们是异步调用,因此在details 完全填充之前进行了调用。
我的代码如下所示:
updateDetails = () => {
...get('abc')
.then(data => {
this.setState({
details: data
})
})
}
sendOtherRequests = () => {
for(let i in details) {
...get('def/' + i)
.then(res => {
// save data
})
.catch(err => {
console.log('error caught ' + JSON.stringify(err))
return false
})
}
}
我将不胜感激。我对 React 有点陌生。
【问题讨论】:
标签: javascript reactjs asynchronous get