En jQuery, es posible invocar una devolución de llamada o activar un evento después de una invocación de .each()
(o cualquier otro tipo de devolución de llamada iterativo) ha completado .
Por ejemplo, me gustaría completar este "fundido y eliminación"
$(parentSelect).nextAll().fadeOut(200, function() {
$(this).remove();
});
antes de hacer algunos cálculos e insertar nuevos elementos después de $(parentSelect)
. Mis cálculos son incorrectos si los elementos existentes aún son visibles para jQuery y dormir / retrasar una cantidad arbitraria de tiempo (200 para cada elemento) parece, en el mejor de los casos, una solución frágil.
Puedo fácilmente .bind()
la lógica necesaria para una devolución de llamada de evento, pero no estoy seguro de cómo invocar limpiamente .trigger()
después de que se haya completado la iteración anterior . Obviamente, no puedo invocar el disparador dentro de la iteración, ya que se dispararía varias veces.
En el caso de $.each()
, he considerado agregar algo al final del argumento de datos (que buscaría manualmente en el cuerpo de la iteración) pero odiaría que me obligaran a hacerlo, así que esperaba que hubiera algún otro elegante forma de controlar el flujo con respecto a las devoluciones de llamada iterativas.