Venho lendo bastante on-line, tentando descobrir como escrever código JavaScript assíncrono. Uma das técnicas que surgiram muito em minha pesquisa é usar retornos de chamada. Embora eu entenda o processo de como escrever e executar uma função de retorno de chamada, estou confuso por que os retornos de chamada parecem automagicamente tornar a execução do JavaScript assíncrona. Então, minha pergunta é: como a adição de funções de retorno de chamada ao meu código JavaScript faz com que o código seja automaticamente assíncrono?