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