@CreamFilling512:Well actually it's a two parter ...
1) How to suspend drawing until the next frame ... kind of like SwapBuffers() which blocks until the next refresh cycle if you system and software are configured correctly. This is roughly the approximate equivalent of requestAnimationFrame(). That is releasing the remainder of your time to Windows while waiting for the next frame.
2) Determining the precise time at which your update/render loop continues. This remains unanswered. I don't think Javascript DateTime.now() returns a time which is accurate enough, the granularity is too big (~15ms sometimes more, sometimes less) for smooth animations. I think people are counting frames instead because of this. This is something game/real time graphics developers move away from very quickly after they learn the basics. They want Frame-Rate Independent Animation [1] [2]
So while you answered part 1, how to yield processing until the next frame, the answer to part 2, which is how to get a highly precise time measurement in Javascript, remains unanswered. That and part 2 was what I was really asking about.
[1] http://www.opentk.com/node/150
[2] http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=277421
Edit: Reading the documentation for requestAnimationFrame(), which applies only to some browsers and is not supported in IE, it would seem that the callback includes a parameter passed from the browser. The timestamp callback argument represents a number of milliseconds. This is a step in the right direction, but it's let up to the browser implementors to determine the accuracy of timestamp.