On Wed, May 6, 2015 at 7:57 PM, Jonas Sicking <jo...@sicking.cc> wrote: > Has at-end-of-microtask been debated rather than 1/2? Synchronous > always has the downside that the developer has to deal with > reentrancy.
1/2 are triggered by the component author. Synchronous just means that they run within the main global when the component author wants them to. So effectively timing depends on what tools the component author has. I have tried to argue they should use mutation observers and thereby effectively get microtask timing, but changing a bunch of layout APIs to be asynchronous is a tricky thing. We've also discussed introducing nanotask mutation observers giving you callbacks at the end of method calls. They would not require reworking layout APIs, but would require introducing such a nanotask mutation observer API. And the performance of nanotasks might not be great if you make lots of mutations that require distribution. (Not tested though.) -- https://annevankesteren.nl/