GoogleWebComponents / google-apis

Web components for loading Google's JavaScript Libraries
https://elements.polymer-project.org/elements/google-apis
Other
87 stars 64 forks source link

fix: add debounce to computeUrl to remove angular2 multiple api error #77

Open MrChoclate opened 8 years ago

MrChoclate commented 8 years ago

fix #67

It fixes the issue on my angular2 project.

@ebidel is this what you meant?:

the loading code can probably use a debouncer

googlebot commented 8 years ago

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

:memo: Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


MrChoclate commented 8 years ago

I signed it!

googlebot commented 8 years ago

CLAs look good, thanks!

ebidel commented 8 years ago

Thanks for the PR. I have some reservations about the approach. Namely, it will make all maps components 300ms slower. How short can you make the time before it no longer works?

MrChoclate commented 8 years ago

It seems that wait=0 remove the error. It is way far beyond my expertise to understand why. So someone should check that it is correct.

Did I correctly understand your review?

MrChoclate commented 8 years ago

My hypothesis is that Angular code is executed synchronously and is not letting the callback executed so that all the attributes of the Polymer element are properly set before the callback is executed.

Anyway, this PR won't slow anymore all maps components. But it will be great to have a comment explaining why it is necessary.