Я пытаюсь узнать, как заменить функции обратного вызова на асинхронные и ожидающие. Через два дня у меня работает следующее: он записывает json в консоль из внутри функции.
const requestRoster = async ()=> {
const response = await fetch('/testing/getRoster.php', {
method: 'get',
headers: {
'Content-Type': 'application/json'
}
})
const json = await response.json()
console.log(json); // writes the array json to the console
return json; //apparently returns a pending promise
}
Однако, когда я говорю
$roster = requestRoster();
console.log ($roster); // writes Promise{<pending}> to the console
Консоль сообщает
Обещание {} Когда я раскрываю эту строку, я вижу:
Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: Array(64)
и Array (64) содержит нужные мне данные.
Очевидно, я немного растерялся здесь. Видимо функция requestRoster () возвращает ожидающее обещание. Я хочу, чтобы он возвратил массив (64). Итак, где я иду не так? Я просто хочу, чтобы requestRoster () возвращал массив (64)
Спасибо,