PerformanceObserverEntryList: getEntriesByName() 方法
注意:此功能在 Web Workers 中可用。
getEntriesByName() 方法是 PerformanceObserverEntryList 接口的一个方法,它返回一个由明确观察到的 PerformanceEntry 对象组成的列表,这些对象具有指定的 name 和 entryType。列表的成员由调用 observe() 方法时指定的 entry types 集合决定。该列表在观察者的回调函数中可用(作为回调函数中的第一个参数)。
语法
js
getEntriesByName(name)
getEntriesByName(name, type)
参数
name-
一个表示要检索条目名称的字符串。
type可选-
一个表示要检索的条目类型的字符串,例如
"mark"。有效的条目类型列在PerformanceEntry.entryType中。
返回值
一个由明确观察到的 performance entry 对象组成的列表,这些对象具有指定的 name 和 type。如果未指定 type 参数,则仅使用 name 来确定要返回的条目。列表中的项将按照条目的 startTime 升序排列。如果没有对象符合指定的条件,则返回一个空列表。
示例
使用 getEntries、getEntriesByName 和 getEntriesByType
以下示例显示了 getEntries()、getEntriesByName() 和 getEntriesByType() 方法之间的区别。
js
const observer = new PerformanceObserver((list, obs) => {
// Log all entries
let perfEntries = list.getEntries();
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
// Log entries named "debugging" with type "measure"
perfEntries = list.getEntriesByName("debugging", "measure");
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
// Log entries with type "mark"
perfEntries = list.getEntriesByType("mark");
perfEntries.forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
});
// Subscribe to various performance event types
observer.observe({
entryTypes: ["mark", "measure", "navigation", "resource"],
});
规范
| 规范 |
|---|
| 性能时间线 # dom-performanceobserverentrylist-getentriesbyname |
浏览器兼容性
加载中…