Función que se pasa como argumento a otra función y se ejecuta después de que esta complete su ejecución.
Un callback es una función que se pasa como argumento a otra función y se ejecuta después de que esta complete su operación. Es el patrón fundamental de la programación asíncrona en JavaScript. Problemas comunes: - Callback hell: Anidamiento excesivo de callbacks - Inversión de control: La función llamada decide cuándo ejecutar tu código - Manejo de errores: Patrón error-first en Node.js Hoy día se prefieren Promises y async/await sobre callbacks para código más legible.
// Callback básico function fetchData(callback) { setTimeout(() => { callback(null, { data: 'resultado' }); }, 1000); } fetchData((error, result) => { if (error) { console.error('Error:', error); return; } console.log('Datos:', result); }); // Callback hell (evitar esto) getUser(userId, (err, user) => { getPosts(user.id, (err, posts) => { getComments(posts[0].id, (err, comments) => { // Código difícil de leer y mantener }); }); }); // Array methods con callbacks const numbers = [1, 2, 3, 4, 5]; numbers.forEach((num) => console.log(num)); const doubled = numbers.map((num) => num * 2); const evens = numbers.filter((num) => num % 2 === 0); const sum = numbers.reduce((acc, num) => acc + num, 0); // Event listeners (callbacks) button.addEventListener('click', (event) => { console.log('Botón clickeado', event.target); });