Я пытался прочитать о том, как работает асинхронность и каковы обещания, но все еще не понимаю концепцию должным образом.
Я понимаю, что асинхронная функция возвращает обещание, но в то же время она может возвращать содержимое из API в моем случае.
let username = list_scores[i].score.username;
///Await Hiscores fetches json from api.
///Hiscores connects to third party api and fetches data dependant on (name)
async function getUserAsync() {
async function getHS (name) {
var response = await Hiscores.fetch(name).catch(console.error)
var result = JSON.stringify(response);
// var resultparse = JSON.parse(result)
return result;
}
return getHS(username).then(result => JSON.parse(result)).catch(console.error);
}
let hs = getUserAsync().then(console.log)
В приведенном выше примере отображается json, извлеченный в ответе varв консоли, как и предполагалось, но когда я изменяю его, чтобы попытаться заставить его вернуть тот же журнал, что и переменная
let hs = getUserAsync().then(res => {return res;}).catch(console.error)
console.log(hs)
Возвращает
Promise { <pending> }
Вид убытка здесь, былпогуглил уже несколько дней ....