Quiero ejecutar una función, a saber, ' callbackfn ' después de ejecutar la función setTimeout . Si la ejecuto en mi contexto de ejecución global, solo cuando se ejecuta el código dentro de callbackfn , la función setTimeout se ejecutará, ya que irá dentro de la cola de devolución de llamada y estará en espera hasta que las líneas en el contexto de ejecución global.
Pero lo que quiero es ejecutar callbackfn después de que se ejecute setTimeout. Para eso, tengo que empujar callbackfn dentro de la cola de devolución de llamada. Entonces, ¿cómo podemos empujarlo explícitamente dentro de la cola de devolución de llamada?
Puede pasar callbackfn como tercer parámetro a setTimeout. La función de devolución de llamada se ejecutará una vez que se ejecute la función setTimeout.
function callbackfn() { console.log('func is executed'); } setTimeout(function(callback) { callbackfn(); }, 3000, callbackfn);La respuesta corta es que no puede enviar su función directamente a la cola sin algo como setTimeout. para entender por qué debes saber