| <script> |
| var callback; |
| |
| // Creates a <script> element with |url| source, and returns a promise for the |
| // result of the executed script. Uses JSONP because some responses to |url| |
| // are opaque so their body cannot be tested directly. |
| function getJSONP(url) { |
| var sc = document.createElement('script'); |
| sc.src = url; |
| var promise = new Promise(function(resolve, reject) { |
| // This callback function is called by appending a script element. |
| callback = resolve; |
| sc.addEventListener( |
| 'error', |
| function() { reject('Failed to load url:' + url); }); |
| }); |
| document.body.appendChild(sc); |
| return promise; |
| } |
| </script> |