Re: Future feedback

On Sun, May 12, 2013 at 7:31 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
>> Moreover the page can be reflowed between tasks.
> _ANY_ async solution will have this property.  What does it even mean to be
> async if you don't allow reflows in the meantime?

Work that is performed at end-of-microtask is sort of between fully
asynchronous and normal synchronous. Since it runs as part of the same
task it means that reflows can't happen before the end-of-microtask
work happens.

This means that you get some advantages of asynchronous code, such as
not having to worry about being in an inconsistent state due to code
higher up on the call stack being half-run. And likewise you don't
have to worry about not messing up code higher up on the callstack
which didn't expect to have things change under it.

But it also means that you are missing out of some of the advantages
of asynchronous code, such as you still have to worry about hogging
the event loop for too long and thus not processing pending UI events
from the user.

/ Jonas

Received on Monday, 13 May 2013 03:38:22 UTC