Показать сообщение отдельно
  #9 (permalink)  
Старый 23.11.2017, 06:34
Аватар для Sebastian Pereiro
Новичок на форуме
Отправить личное сообщение для Sebastian Pereiro Посмотреть профиль Найти все сообщения от Sebastian Pereiro
 
Регистрация: 19.11.2017
Сообщений: 6

Сообщение от Aetae Посмотреть сообщение
Вот и ещё один человек открыл для себя асинхронность. Годы текут, ничего не меняется...

Sebastian Pereiro, "foo" - это функция-коллбэк, она будет вызвана только когда получит результат от базы, т.е. хрензнает когда, может быть спустя годы, если коннект к базе по радиоканалу с луны.
К тому времени 22 строка уже давно выполнится своим чередом.
Еслиб скрипт ждал результата, то он всё это время бы висел и ни на что не реагировал, а это какбэ противоречит самой сути современного js - асинхронности всего и вся.
Для начала дели свой код на функции и вызывай оные последовательно.

P.S. В самом современном js для таких случаев ныне применяют promise и async\await, но без понимания базы это всё равно бесполезно, т.к. лишь удобная надстройка над всё той же сутью.
можно немного конкретики? есть какой-то минимальный шаг, для выполнения условия? прочитал про промисы, асинки, но в мой пример ясности особо не внесло.
Ответить с цитированием