MCPcopy Index your code
hub / github.com/ampproject/amphtml / waitFor_

Method waitFor_

src/service/extensions-impl.js:576–590  ·  view source on GitHub ↗

* Creates or returns an existing promise that will yield as soon as the * extension has been loaded. * @param {!ExtensionHolderDef} holder * @return {!Promise<!ExtensionDef>} * @private

(holder)

Source from the content-addressed store, hash-verified

574 * @private
575 */
576 waitFor_(holder) {
577 if (!holder.promise) {
578 if (holder.loaded) {
579 holder.promise = Promise.resolve(holder.extension);
580 } else if (holder.error) {
581 holder.promise = Promise.reject(holder.error);
582 } else {
583 const deferred = new Deferred();
584 holder.promise = deferred.promise;
585 holder.resolve = deferred.resolve;
586 holder.reject = deferred.reject;
587 }
588 }
589 return holder.promise;
590 }
591
592 /**
593 * Ensures that the script has already been injected in the page.

Callers 3

waitForExtensionMethod · 0.95
preloadExtensionMethod · 0.95
installExtensionInDocMethod · 0.95

Calls 1

resolveMethod · 0.80

Tested by

no test coverage detected