that's not really helpful - you are dodging the "problem at hand".
i am asking whether or not to use setTimeout to perform recursion.
i know that deep recursions freeze the browser, so setTimeout is a POSSIBLE solution. another thing that can be done is to break the operation in batches of a few and use setTimeout to perform them in async.
some points for or against the approach, or perhaps some tips on how to deal with heavy recursions