Тут надо бы `setTimeout(fn(data), 10);` Догадываешься почему? :)