MCPcopy
hub / github.com/ampproject/amphtml / waitForServices

Function waitForServices

src/render-delaying-services.js:62–82  ·  view source on GitHub ↗
(win)

Source from the content-addressed store, hash-verified

60 * as the detected render delaying services
61 */
62export function waitForServices(win) {
63 const promises = includedServices(win).map((serviceId) => {
64 const serviceReadyPromise = getServicePromise(win, serviceId).then(
65 (service) => {
66 if (service && isRenderDelayingService(service)) {
67 return service.whenReady().then(() => {
68 return service;
69 });
70 }
71 return service;
72 }
73 );
74
75 return Services.timerFor(win).timeoutPromise(
76 LOAD_TIMEOUT,
77 serviceReadyPromise,
78 `Render timeout waiting for service ${serviceId} to be ready.`
79 );
80 });
81 return Promise.all(promises);
82}
83
84/**
85 * Returns true if the page has a render delaying service.

Callers 2

makeBodyVisibleFunction · 0.90

Calls 6

getServicePromiseFunction · 0.90
includedServicesFunction · 0.85
isRenderDelayingServiceFunction · 0.85
timeoutPromiseMethod · 0.80
thenMethod · 0.45
whenReadyMethod · 0.45

Tested by

no test coverage detected