MCPcopy Index your code
hub / github.com/Maps4HTML/MapML.js / whenReady

Method whenReady

src/layer.js:875–910  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

873 }
874 }
875 whenReady() {
876 return new Promise((resolve, reject) => {
877 let interval, failureTimer;
878 if (
879 this._layer &&
880 this._layerControlHTML &&
881 (!this.src || this.shadowRoot?.childNodes.length)
882 ) {
883 resolve();
884 } else {
885 let layerElement = this;
886 interval = setInterval(testForLayer, 200, layerElement);
887 failureTimer = setTimeout(layerNotDefined, 5000);
888 }
889 function testForLayer(layerElement) {
890 if (
891 layerElement._layer &&
892 layerElement._layerControlHTML &&
893 (!layerElement.src || layerElement.shadowRoot?.childNodes.length)
894 ) {
895 clearInterval(interval);
896 clearTimeout(failureTimer);
897 resolve();
898 } else if (layerElement._fetchError) {
899 clearInterval(interval);
900 clearTimeout(failureTimer);
901 reject('Error fetching layer content');
902 }
903 }
904 function layerNotDefined() {
905 clearInterval(interval);
906 clearTimeout(failureTimer);
907 reject('Timeout reached waiting for layer to be ready');
908 }
909 });
910 }
911 // check if all child elements are ready
912 whenElemsReady() {
913 let elemsReady = [];

Callers 15

_addStylesheetLinkMethod · 0.95
_addStyleElementMethod · 0.95
_addExtentElementMethod · 0.95
_addMetaElementMethod · 0.95
zoomToMethod · 0.95
layer-src.test.jsFile · 0.45
_registerMediaQueryMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected