Как вернуть объект в переменную из 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);
})()