Кажется, я наблюдаю по крайней мере один случай, когда функция обратного вызова, переданная в функцию эффекта jQuery, будет выполняться многократно, если во время выполнения возникнет ошибка.
Например, см. this JS Fiddle со следующим кодом:
$('#awesome').fadeOut(400,function () {
log('fading out...');
dieInAFire();
});
log
добавляет все, что ему передано, в div ... но dieInAFire
не существует.Однако вместо того, чтобы просто останавливать выполнение, анонимная функция вызывается снова и снова, о чем свидетельствует растущее число появлений «исчезновения ...» в журнале div.
Это ожидаемое поведение?Если так, то почему?