doCallback use setTimeout( fn, 0 )