我正在尝试获取一些数据,重新处理对象格式并使其处于状态。我的上一个.then
没有从第二个中获取数据。我不明白为什么会这样。
fetch("http://myserver/switches")
.then(response => response.json())
.then(data => {
a = data.map(item => {
var obj = {}
obj = {value: item.switch, label: item.switch}
return obj
})
console.log(a)
})
.then(data => {
console.log(data)
this.setState({ switches: data})
console.log(this.state.switches)
})
控制台日志:
>(5) [{…}, {…}, {…}, {…}, {…}]
>undefined
>undefined
答案 0 :(得分:1)
尝试在第二个then()中添加一条语句return a
这将为最后的then()提供a
作为参数。
fetch("http://myserver/switches")
.then(response => response.json())
.then(data => {
a = data.map(item => {
var obj = {}
obj = {value: item.switch, label: item.switch}
return obj
})
console.log(a)
return a;
})
.then(data => {
console.log(data)
this.setState({ switches: data})
console.log(this.state.switches)
})