Is it possible to run this "indefinitely", without causing stack overflow or running out of memory?

function eternal(){
    var time = recalculateTime();
    doSomething();
    setTimeout(eternal,time);
}

setTimeout(eternal,200000);


I'm not using setInterval, because the triggering time is variable.


Question: Why would analysts recommend buying companies with negative net income?
Answer: Most likely because they don't know what they're talking about.

They all have a belief without evidence that information set X is internalised into the price but information set Y is not. If there is some stock characteristic, call it y, that belongs to set Y, then that moves the gauge towards a "buy" recommendation.

However, the issue is that no evidence has been used to determine the constituents of X and Y, or even whether Y exists in any non-trivial sense.