MCPcopy Create free account
hub / github.com/ChromeDevTools/chrome-devtools-mcp / waitForScript

Function waitForScript

src/devtools/DevtoolsUtils.ts:448–474  ·  view source on GitHub ↗
(
  model: DevTools.DebuggerModel,
  scriptId: Protocol.Runtime.ScriptId,
  signal: AbortSignal,
)

Source from the content-addressed store, hash-verified

446
447// Waits indefinitely for the script so pair it with Promise.race.
448async function waitForScript(
449 model: DevTools.DebuggerModel,
450 scriptId: Protocol.Runtime.ScriptId,
451 signal: AbortSignal,
452) {
453 while (true) {
454 if (signal.aborted) {
455 throw signal.reason;
456 }
457
458 const script = model.scriptForId(scriptId);
459 if (script) {
460 return script;
461 }
462
463 await new Promise((resolve, reject) => {
464 signal.addEventListener('abort', () => reject(signal.reason), {
465 once: true,
466 });
467 void model
468 .once(
469 'ParsedScriptSource' as Parameters<DevTools.DebuggerModel['once']>[0],
470 )
471 .then(resolve);
472 });
473 }
474}

Callers 1

createStackTraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected