Я много читал в Интернете, пытаясь понять, как писать асинхронный код JavaScript. Одна из техник, которая часто используется в моих исследованиях, - это использование обратных вызовов. Хотя я понимаю процесс написания и выполнения функции обратного вызова, я запутался, почему обратные вызовы автоматически делают выполнение JavaScript асинхронным. Итак, мой вопрос: как добавление функций обратного вызова в мой код JavaScript делает указанный код автоматически асинхронным?