编辑:有些人在建议的答案中将此问题标记为重复,甚至很难回答,不清楚我的问题的答案是什么。
答案是,为了使用等待值的实际值,必须在Async函数内部使用/读取它。那是关键。
问题:
我有这个异步函数,等待结果然后返回:
async function getLoggedInUser() {
let loggedInUser
try {
await axios
.get(`/api/user_data`)
.then(res => {
if (res.data) {
loggedInUser = res.data
return loggedInUser
}
// nothing came back
console.error('no users on the res to make ajax and populate choicesjs')
})
.catch(err => {
console.error('no users found', err);
});
} catch (e) {
console.error(e);
}
// genresMultiOptions.setValue(loggedInUser.username.genres);
}
export default getLoggedInUser
但是,当我尝试从另一侧获得结果时,我得到了希望。我什至尝试添加另一个异步等待函数来接收它,但仍然得到了保证。我永远无法从异步函数之外获取实际值。
const getUserData = async () => await getLoggedInUser()
const x = getUserData()