Я работал с асинхронными / ожидающими функциями уже несколько месяцев, и я получил весь свой код на работу, однако, я не понимаю его полностью и могу использовать некоторые мудрые слова.
В моем коде ниже у меня есть асинхронная функция, мой вопрос ... почему он возвращает обещание вместо ожидаемого значения? И что еще более важно, как правильно получить желаемое значение?
getName = async () => {
const request = await fetch(apiUrl)
const data = await request.json()
return data.response.name
}
Я вызываю функцию позже
const name = getName()
Но тогда name
- это обещание вместо имени.
Я много раз искал это, и оно никогда не слипается. Я надеюсь использовать свой собственный пример, если кто-то сможет мне это объяснить, поэтому я полностью понимаю, что он, наконец, останется со мной.
РЕДАКТИРОВАТЬ - В ответ на @Paulpro я обновил свой вопрос до ниже ...
При условии, что с асинхронной функцией все в порядке, вопрос заключается в том, как сохранить значение.
const name = getName()
'name' теперь обещание, поэтому я обычно делаю что-то вроде этого ...
getName().then(name => setName(name))
но как мне сделать const name === возвращаемым именем?