性能接口中缺少资源计时缓冲区已满事件



资源计时 API 具有诸如 onresourcetimingbufferfull 之类的事件,当达到 150(默认情况下)资源的限制时会触发该事件。https://www.w3.org/TR/resource-timing-1/#extensions-performance-interface

lib.d.ts 文件中的性能接口 https://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.ts 中没有定义 onresourcetimingbufferfull 事件。有什么办法可以做到这一点吗?

当然!您可以简单地在自己的代码中扩充Performance接口:

// this does not overwrite `Performance`, it just augments it
interface Performance {
    onresourcetimingbufferfull: (e: Event) => any;
    // and/or perhaps something like
    addEventListener(type: "resourcetimingbufferfull", handler: (e: Event) => any): void;
    // in versions of TS before 2.0, you'll need to add this line also:
    addEventListener(type: string, handler: (e: Event) => any): void;
}
function bufferFull(e: Event) {
  console.log("WARNING: Resource Timing Buffer is FULL!");
  performance.setResourceTimingBufferSize(200);
}
performance.onresourcetimingbufferfull = bufferFull;
performance.addEventListener("resourcetimingbufferfull", bufferFull);

我找不到resourcetimingbufferfull事件携带任何特殊有效载荷,因此最简单的方法是将其键入为常规旧Event

最新更新