Помогите, пожалуйста, разобраться с асинхронным запуском функций.
Второй день вникаю в документацию и примеры и никак не могу решить задачу.
На странице есть таблица с чекбоксами и кнопка, по нажатию на кнопку:
1. Должна отобразится gif картинка, показывающая, что процесс запустился.
2. Одновременно с этим, должен запуститься цикл each(), который соберет данные из отмеченных строк в массив numbers.
3. После завершения цикла, нужно скрыть gif и вывести результаты.
Я перепробовал много различных вариантов, но картинка у меня все равно блокируется, до тех пор, пока полностью не выполнится each()
$(function() {
$( "#btnShow" ).button().click(function() {
$('.preloader').fadeIn();
var checkedRowId=$("#table").yiiGridView("getChecked", "selectedRow");
var numbers = new Array();
$.each( checkedRowId, function( i, l ) {
numbers.push( $("#table").children('id="row' + l + '"').children(':nth-child(7)').text() );
});
console.log(numbers);
$('.preloader').fadeOut();
});
});