【发布时间】:2021-07-22 14:07:58
【问题描述】:
我在 useeffect 中调用了两个方法,但是当 api1 被调用时,它会被执行直到 await axios.put 然后 api2 被调用没有得到 api1 的响应。在得到 api2 的响应后,它会转到 api1 响应并得到 undefined
的响应useEffect(() => {
api1();
api2();
}, [])
const api1 = async () => {
try {
var requestModel = JSON.stringify({ UserId: userid, MenuName: menuname });
var requestBody = security.encrypt(requestModel);
axios.myHashData = security.computedHmac256(requestBody);
var config = { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }
await axios.put(axios.controllername + 'methodname', requestBody, config, { withCredentials: true })
.then(response => {
if (response.status === 200) {
//setapidata(response.data);
}
});
} catch (error) {
console.error(error.message)
}
}
const api2= async () => {
try {
var requestModel = JSON.stringify({ UserID: userid });
var requestBody = security.encrypt(requestModel);
axios.myHashData = security.computedHmac256(requestBody);
var config = { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }
await axios.post(axios.controllername + 'methodname', requestBody, config, { withCredentials: true })
.then(response => {
if (response.status === 200) {
setapidata(response.data);
GetApis();
}
});
} catch (error) {
console.error(error.message)
}
}
【问题讨论】:
-
不太清楚您的 API 函数从哪里调用,或者它们试图使用什么响应。此外,如果
api2应该在api1之后使用来自api1的数据调用,为什么不在api1中调用呢?
标签: node.js reactjs axios frontend