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

Function waitForScript

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

Source from the content-addressed store, hash-verified

467
468// Waits indefinitely for the script so pair it with Promise.race.
469async function waitForScript(
470 model: DevTools.DebuggerModel,
471 scriptId: Protocol.Runtime.ScriptId,
472 signal: AbortSignal,
473) {
474 while (true) {
475 if (signal.aborted) {
476 throw signal.reason;
477 }
478
479 const script = model.scriptForId(scriptId);
480 if (script) {
481 return script;
482 }
483
484 await new Promise((resolve, reject) => {
485 signal.addEventListener('abort', () => reject(signal.reason), {
486 once: true,
487 });
488 void model
489 .once(
490 'ParsedScriptSource' as Parameters<DevTools.DebuggerModel['once']>[0],
491 )
492 .then(resolve);
493 });
494 }
495}

Callers 1

createStackTraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected