PerformanceObserver: observe() 方法
注意:此功能在 Web Workers 中可用。
PerformanceObserver 接口的 observe() 方法用于指定要观察的性能条目类型集合。
有关条目类型的列表,请参阅 PerformanceEntry.entryType,有关用户代理支持的条目类型的列表,请参阅 PerformanceObserver.supportedEntryTypes。
当记录到匹配的性能条目时,将在创建 PerformanceObserver 时设置的性能观察者的回调函数会被调用。
语法
observe(options)
参数
options-
一个具有以下可能成员的对象
buffered-
一个布尔标志,用于指示是否应将缓冲的条目排队到观察者的缓冲区中。只能与
type选项一起使用。 durationThreshold-
一个
DOMHighResTimeStamp,定义PerformanceEventTiming条目的阈值。默认为 104ms,并四舍五入到最接近的 8ms。最低可能阈值为 16ms。不能与entryTypes选项一起使用。 entryTypes-
一个字符串数组,每个字符串指定一个要观察的性能条目类型。不能与
type、buffered或durationThreshold选项一起使用。有关有效性能条目类型名称的列表,请参阅
PerformanceEntry.entryType。不识别的类型将被忽略,但浏览器可能会向控制台输出警告消息以帮助开发人员调试其代码。如果没有找到有效的类型,observe()将不起作用。 type-
一个单独的字符串,指定要观察的单个性能条目类型。不能与
entryTypes选项一起使用。
返回值
无(undefined)。
示例
观察多个性能条目类型
此示例创建了一个 PerformanceObserver,并使用 observe() 方法中提供的 entryTypes 选项来观察 "mark" 和 "measure" 条目类型。
const observer = new PerformanceObserver((list, obj) => {
list.getEntries().forEach((entry) => {
// Process "mark" and "measure" events
});
});
observer.observe({ entryTypes: ["mark", "measure"] });
观察单个性能条目类型
以下示例使用 buffered 和 type 配置选项检索已缓冲的事件并订阅资源计时事件(PerformanceResourceTiming)的新事件。每当需要配置观察者使用 buffered 或 durationThreshold 选项时,请使用 type 而非 entryType。否则,收集多种性能条目类型将无法正常工作。
const observer = new PerformanceObserver((list, obj) => {
list.getEntries().forEach((entry) => {
// Process "resource" events
});
});
observer.observe({ type: "resource", buffered: true });
规范
| 规范 |
|---|
| 性能时间线 # dom-performanceobserver-observe |
浏览器兼容性
加载中…