Función de devolución de llamada sincrónica y función de devolución de llamada asincrónica en JS

1. Función de devolución de llamada sincrónica

Ejecutar inmediatamente, continuar ejecutándose después de que se haya ejecutado por completo y no se colocará en la cola de devolución de llamada

P.ej:

  • Funciones de devolución de llamada relacionadas con el recorrido de la matriz
  • Promesa de función de excutor (en uso new Promise()para crear un nuevo objeto cuando se pasa a los parámetros de la función de constructor Promesa)
//代码演示
let arr = [1,2,3];
arr.forEach(function (item) {
    
    //遍历回调,该同步回调函数不会放入列队,一上来就要执行完
  console.log(item);
})
console.log('forEach()之后');

Resultado de salida:
Inserte la descripción de la imagen aquí


2. Función de devolución de llamada asincrónica

No se ejecutará de inmediato, se colocará en la cola de devolución de llamada para una ejecución futura

P.ej:

  • Temporizador de devolución de llamada
  • devolución de llamada ajax
  • Promesa devolución de llamada de éxito o fracaso
//代码演示
setTimeout(function () {
    
    //该异步回调函数,会放在队列中
  console.log('setTimeout()正在执行');
},0);
console.log('setTimeout()之后');

//结果:先输出“setTimeout()之后”,最后输出“setTimeout()正在执行”

Supongo que te gusta

Origin blog.csdn.net/weixin_43974265/article/details/112494312
Recomendado
Clasificación