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 |
瀏覽器相容性
載入中…