У меня есть API, который возвращает мои ожидаемые результаты в проекте реагирования.
Я написал эту функцию для вызова API и получения результатов:
async function getUsers() {
const token = store.getState().token;
const data = { token };
await MyApi.getUsers(data)
.then((result) => {
console.log(result);
return result;
})
.catch((error) => {
console.log(error);
return null;
});
}
const userList = getUsers();
Когда я console.log result
в разделе then
функции, он напечатал ожидаемый список пользователей (это массив json). Но когда я console.log userList
это promise
как показано ниже:
это означает, что возвращаемое значение функции getUsers
равно Promise
.
1- Как я могу получить результаты от этого обещания?
2- почему PromiseResult
- это undefined
, а result
в разделе then
- это массив json?
** этих кодов нет в реагирующем компоненте
ожидаемый result
:
[
{
id: 1,
name: "user1",
role: "student"
},
{
id: 2,
name: "user2",
role: "student"
},
{
id: 3,
name: "user3",
role: "student"
},
]
и я хочу использовать массив userList
для создания user card
:
<div>
{userList ? (
userList.map((user) =>
{
<Card>
<h1> user.name </h1>
</Card>
}
):
(<h1>user list is empty </h1>)
}
getUsers
— это функцияasync
, она неявно возвращает обещание. Если вам нужно разрешенное значение, вы должныawait
его или.then
из него, то естьgetusers().then(userList => ....)
. - person Drew Reese   schedule 15.02.2021result
функцииgetUsers
функцииUserList
? Я на самом деле новичок в JS и реагирую - person Zahra Talebi   schedule 15.02.2021