Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по js. асинхронные, синхронные вызовы

Ильгиз Азаров Ученик (125), на голосовании 1 год назад
Два подряд вызова в коде обычных функций - асинхронно выполняются или нет? например если там запросы к локальной бд.
Голосование за лучший ответ
Robo Kinesis Ученик (97) 1 год назад
Да, вызовы обычных функций в JavaScript выполненв синхронно, т.е. в последовательном порядке. Если вы сделаете запросы к локальной БД, то они будут выполненны в том порядке, как вы их вызвали.
Павел Просветленный (25618) 1 год назад
Функция выполняется синхронно. Запросы к DB (если речь о IndexedDB) - асинхронно. Если внутри этой функции ты будешь пытаться взаимодействовать с результатом запроса к DB, игнорируя при этом её асинхронную натуру, то у тебя ничего не получится.
Весь код который зависит от ответа DB должен выполняться асинхронно.

Даже вами написанные асинхронные функции выполняються синхронно пока не достигнут ключевого слова await. После него остальной код выполняется асинхронно.
Ильгиз АзаровУченик (125) 1 год назад
tx.executesql(....,function (tx,rs) {...})
как переписать, что бы читаемо было без лестницы, если там куча последовательных вызовов?
Павел Просветленный (25618) Ильгиз Азаров, я не шарю в локальных базах данных. Мой ответ касается асинхронности как таковой и IndexedDB (в документации сказано что он асинхронный). А что тут "нечитаемо"? И что значит лестница? Типа callback hell? Мне нужен пример покрупнее и хотя бы название API базы данных. Но ничего не обещаю.
Похожие вопросы