For efficiency, Polymer queues dynamic changes that provoke Shady DOM
distribution (changes that fill insertion points, e.g. <content>) and
template rendering (e.g. `dom-if` and `dom-repeat`) and processes them at
microtask timing. In addition, the Custom Elements polyfill processes
dynamic dom changes (upgrading elements and calling attached/detached) at
microtask timing.

In general, calling `Polymer.dom.flush` provides a guarantee that these
tasks complete synchronously.

On Thu, Jul 16, 2015 at 7:25 PM, Michael Giuffrida <[email protected]>
wrote:

> It would be really nice if anyone could provide a more detailed answer to
> this and similar questions: It's not clear what operations are supposed to
> be synchronous or asynchronous (and when async operations are at task level
> vs. microtask level), which affects tests but also some more complicated UI
> logic.
>
> I started a thread last week which didn't get any responses. I would
> appreciate even a simple "we make no guarantees" response if that's the
> case, because it would help knowing how defensive our code should be.
>
> Michael
>
> On Thu, Jul 16, 2015 at 4:02 PM, 'Daniel Freedman' via Polymer <
> [email protected]> wrote:
>
>> Generally you can get away with not using flush.
>>
>> You may still need flush for testing element lifecycle callbacks in
>> polyfilled browsers, or measuring DOM, but I expect very few cornercases
>> like that.
>>
>> On Thu, Jul 16, 2015 at 10:46 AM, <[email protected]> wrote:
>>
>>> With Polymer 1.0, observers are now evaluated synchronously.  If I have
>>> an element whose behavior is driven by observers on attributes, and
>>> everything appears to work in synchronous tests, is there any reason to
>>> call flush()?  That is, is it necessary that I call it before/after each
>>> test?
>>>
>>> Follow Polymer on Google+: plus.google.com/107187849809354688692
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Polymer" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/polymer-dev/adc4db0a-459d-4abf-ab8f-6453dae62213%40googlegroups.com
>>> <https://groups.google.com/d/msgid/polymer-dev/adc4db0a-459d-4abf-ab8f-6453dae62213%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  Follow Polymer on Google+: plus.google.com/107187849809354688692
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Polymer" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/polymer-dev/CAAUAVAhtWUNOMEw8Zm2Nq5JVA0Q4ihDEtgPJ4pDjRVqZHk1ENA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/polymer-dev/CAAUAVAhtWUNOMEw8Zm2Nq5JVA0Q4ihDEtgPJ4pDjRVqZHk1ENA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/polymer-dev/CACi5S_1DeF4B%2BkgPzwpW8rt%3DH1dw%2B2%3D1C_BbGqgdzuD5ZtPpQw%40mail.gmail.com
> <https://groups.google.com/d/msgid/polymer-dev/CACi5S_1DeF4B%2BkgPzwpW8rt%3DH1dw%2B2%3D1C_BbGqgdzuD5ZtPpQw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/CA%2BrMWZg1Nk7s-%3D%3D79H2gcaaxd7w8rYpdd6k7CAc0sGsWxVEAdw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to