Как вернуть объект в переменную из async function?

Всем спасибо, ответ на вопрос чуть ниже, вероятно это сэкономит время.

Никак. Вообще никак. Нет. Нельзя синхронно дождаться асинхронного вызова. Точно нельзя. И даже так нельзя.

Из асинхронной функции вернется промис! Объект можно разобрать в пределах async функции.


Подскажите возможно ли из async вернуть объект в переменную а не промис.

Await работает в пределах async syntax, если помещать const json = await getData(url); в async логично что опять будет возвращен промис.

var url = 'https://jsonplaceholder.typicode.com/posts';

const getData = async (url) => {

    const response = await fetch(url);
    const jsonObj = await response.json();

    return jsonObj;
        
}


const json = getData(url);
alert(getData(url));


Ответы (1 шт):

Автор решения: Алексей Шиманский

var url = 'https://www.binance.me/api/v3/ticker/price?symbols=%5B%22BTCUSDT%22,%22ETHUSDT%22,%22LTCUSDT%22,%22DOGEUSDT%22,%22TRXUSDT%22%5D';

const getData = async (url) => {

    const response = await fetch(url);
    const jsonObj = await response.json();

    return jsonObj;
        
}


const json = getData(url);
getData(url).then(response => {
  console.log(response);
});


или так

var url = 'https://www.binance.me/api/v3/ticker/price?symbols=%5B%22BTCUSDT%22,%22ETHUSDT%22,%22LTCUSDT%22,%22DOGEUSDT%22,%22TRXUSDT%22%5D';

const getData = async (url) => {

    const response = await fetch(url);
    const jsonObj = await response.json();

    return jsonObj;
        
}



(async function() {
  let response = await getData(url);
  console.log(response);
})()

→ Ссылка