0

Есть функция

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.

Diavolo
  • 55

1 Answers1

0

Воспользуйтесь 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); })();

MoloF
  • 4,588