You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
constpromise=newPromise(function(resolve,reject){constdata=getData()// делаем асинхронную операцию: запрос в БД, API, etc.resolve(data)// переводим промис в состояние fulfilled. Результатом выполнения будет объект data})
Здесь getData() - асинхронная функция, то есть возвращает Promise. И результатом выполнения будет не объект data, а результат промиса data. Поэтому во избежания путаницы предлагаю рассказать, что такое thenable, что будет если передать промис в resolve и изменить комментарий.
Хм, если getData возвращает промиз, то зачем тут вообще городить огород.
Если всё же это асинхронная функция с колбеком, то так и надо написать и никакого const data не будет.
@alexeyten Ну если не возвращает промис, то значит функция синхронная, и точно так же зачем городить огород если все это синхронно выполнится. А в качестве колбека ничего не передается. Возможно стоит в качестве примера все же функцию с колбеком привести
Ссылка на статью
https://doka.guide/js/promise/
Описание
Первый пример из статьи:
Здесь
getData()
- асинхронная функция, то есть возвращаетPromise
. И результатом выполнения будет не объектdata
, а результат промисаdata
. Поэтому во избежания путаницы предлагаю рассказать, что такоеthenable
, что будет если передать промис вresolve
и изменить комментарий.Пруфы
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#chained_promises
The text was updated successfully, but these errors were encountered: