[Comprender y usar las funciones de devolución de llamada]

Las funciones de devolución de llamada son una técnica de programación común que se utiliza para manejar situaciones tales como operaciones asincrónicas y manejo de eventos. Una función de devolución de llamada es esencialmente una función que se llama para procesar la lógica relacionada cuando ocurre un evento o se completa una operación asincrónica . La siguiente es una explicación detallada de la función de devolución de llamada:

Definición de función de devolución de llamada

Una función de devolución de llamada es una función que se pasa como argumento a otra función y que se llama cuando se completa esa función. Las funciones de devolución de llamada pueden ser funciones anónimas o funciones con nombre.

El papel de la función de devolución de llamada

  • Las funciones de devolución de llamada generalmente se usan para manejar operaciones asíncronas, como:
setTimeout(function() {
    
    
  console.log('Hello, world!');
}, 1000);

En este ejemplo, la función setTimeout llamará a la función de devolución de llamada después de 1 segundo, mostrando "¡Hola, mundo!".

  • Las funciones de devolución de llamada también se pueden usar para manejar eventos, por ejemplo:
document.addEventListener('click', function() {
    
    
  console.log('Button clicked!');
});

En este ejemplo, cuando el usuario hace clic en un elemento del documento, se llamará a la función de devolución de llamada y se generará "¡Botón presionado!".

Ventajas y desventajas de las funciones de devolución de llamada

La ventaja de las funciones de devolución de llamada es que pueden manejar situaciones como operaciones asincrónicas y procesamiento de eventos, lo que hace que los programas sean más flexibles y confiables.

La desventaja de las funciones de devolución de llamada es que pueden conducir a un infierno de devolución de llamada (Callback Hell), es decir, anidar demasiadas funciones de devolución de llamada, lo que dificulta la lectura y el mantenimiento del código. Para evitar el infierno de devolución de llamada, se pueden usar técnicas como Promise y async/await para administrar operaciones asíncronas.

Ejemplo de una función de devolución de llamada

Aquí hay un ejemplo del uso de una función de devolución de llamada para cargar imágenes de forma asíncrona:

function loadImage(url, callback) {
    
    
  var img = new Image();
  img.onload = function() {
    
    
    callback(null, img);
  };
  img.onerror = function() {
    
    
    callback(new Error('Failed to load image at ' + url));
  };
  img.src = url;
}

loadImage('https://example.com/image.jpg', function(err, img) {
    
    
  if (err) {
    
    
    console.error(err);
  } else {
    
    
    console.log('Image loaded successfully!');
    document.body.appendChild(img);
  }
});

En este ejemplo, la función loadImage se usa para cargar la imagen de forma asincrónica y llamar a la función de devolución de llamada para manejar la lógica relacionada una vez que se completa la carga. El primer parámetro de la función de devolución de llamada se usa para pasar el mensaje de error y el segundo parámetro se usa para pasar los datos de la imagen cargada. En el ejemplo, agregamos la imagen cargada al documento.

código de ejemplo básico

let val=123;
function aaa(val,callback){
    
    
     if(val>100){
    
    
         callback(val)
     }else{
    
    
         callback(false)
     }
 }
 aaa(val,function(e){
    
    
     console.log(e);  //123
 })

Supongo que te gusta

Origin blog.csdn.net/qq_44749901/article/details/129880515
Recomendado
Clasificación