Как вернуть значение из then
Есть функция
function get_score() {
return new Promise(resolve => {
fetch(this.api_url)
.then(res => res.json())
.then(json => resolve(json[0]) );
});
И чтобы использовать ее в коде нужно:
get_score()
.then(score => console.log(score))
Но я хотел бы чтобы при вызове мне не было необходимости приписывать then, чтобы get_score() просто возвращал score без then => score.
Ответы (1 шт):
Автор решения: MoloF
→ Ссылка
Воспользуйтесь ASYNC/AWAIT
function get_score() {
return new Promise(resolve =>
setTimeout(() => resolve(Math.random()), 1000)
);
}
(async function(){
const result = await get_score();
console.log(result);
})();
Так же можно видоизменить вашу функцию get_score()
const api_url = 'https://api.themoviedb.org/3/discover/movie?api_key=15d2ea6d0dc1d476efbca3eba2b9bbfb';
async function get_score() {
try {
const response = await fetch(api_url);
const result = await response.json();
return result;
}
catch(error) {
console.log(error);
}
};
(async function() {
const getScore = await get_score();
console.log(getScore);
})();