我有以下代码:
request(options).then( ( res ) => {
if(res.data.jobStatus === "ACTIVE"){
this.setState({
jobId: res.data.jobId,
})
alert("Calculation started: " + this.state.activeCalcDates );
}
})
据我了解,.then()
应该等待axios function ( request )
在运行.then()
但是,我的代码只会爆炸,jobId
将保持undefined
,在查询后会破坏逻辑。
我知道服务器发出的每个响应确实包含res.data.jobStatus === "ACTIVE"
但是js很少会承认这一点,并且大多只是忽略jobStatus
并使客户保持最后的PASSIVE
状态。
2 < 202
2 < Content-Type: application/json
{
"status" : "BUSY",
"currentJob" : {
"id" : 1,
"jobId" : "xxxx-yyyy-zzzz",
"jobStatus" : "ACTIVE"
}
}
答案 0 :(得分:1)
将res.data.jobStatus
更改为res.data.currentJob.jobStatus
。还有res.data.jobId
和res.data.currentJob.jobId
。