JSON.stringify (security_check ()), выполняет функцию с axios.post, и она должна возвращать объект, который я могу использовать в качестве return () для security_check (). У меня проблема в том, что когда я вызываю security_check (), я не могу заставить функцию ждать завершения axios и использовать ответ axios в качестве ответа моей функции
Я попытался вернуться (axios), но axios возвращается после завершения seucritycheck.
class AppLogin extends React.Component{
console.log("class before calling security_check()")
sessionStorage.setItem('profile', JSON.stringify(securitycheck()))
console.log("class after calling securitycheck()")
}
------------
//with return axios
function securitycheck() {
let profile = {}
const s_token = JSON.parse(sessionStorage.getItem('token'))
console.log("inside securitycheck, before axios")
return axios.post("http://localhost:3001/account/", s_token, {
headers: {
'Content-Type': 'application/json',
'Accept' : 'application/json'
}
})
.then(res => {
profile = res.data
console.log("inside .then")
return profile
}).catch(err => err);
}
----------
CONSOLE:
class before calling securitycheck()
SecurityCheck.js:7 inside securitycheck
AppLogin.js:45 class after calling securitycheck()
SecurityCheck.js:14 inside async
// with async/await
async function security_check() {
const s_token = JSON.parse(sessionStorage.getItem('token'))
console.log("inside securitycheck")
let res = await axios.post("http://localhost:3001/account/", s_token, {
headers: {
'Content-Type': 'application/json',
'Accept' : 'application/json'
}
})
console.log("inside async")
return res.data;
}
CONSOLE:
class before calling securitycheck()
SecurityCheck.js:7 inside securitycheck
AppLogin.js:45 class after calling securitycheck()
SecurityCheck.js:14 inside async
без ошибок, просто не правильный ответ:)