Я использую response-native, mon go DB и node js, и мне нужно создать некоторые функции базы данных и поместить их в некоторые модули, чтобы иметь возможность повторно использовать их в любое время. Чтобы получить данные из базы данных mon go, я использую функцию fetch()
, которая возвращает обещание. Итак, для всех созданных мною функций, которые не возвращали значение, я использовал .then
и не столкнулся с проблемами. С другой стороны, когда я возвращаю значение внутри функции fetch().then()
и использую это возвращаемое значение, я получаю undefined. Код, который я использую для функции, выглядит так:
export const getUsers = () => {
//I cannot use this function because of returning a promise
fetch("http://1jjsd12zaws.ngrok.io/database/", {
method: "GET",
headers: {
"Content-Type": "application/json",
},
})
.then((res) => {
res.json();
})
.then((data) => {
return JSON.stringify(data);
});
};
Затем, когда я пытаюсь запустить этот код:
let users=getUsers();
console.log(users);
Он печатает undefined
.
Я думаю, что происходит то, что console.log(users)
запускается до того, как getUsers()
вернет свое значение. Но я не знаю, почему это происходит, и я хочу, чтобы он дождался выполнения getUsers()
, а затем завершил свою работу.