PerformanceObserverEntryList:getEntriesByName() 方法

getEntriesByName()PerformanceObserverEntryList 接口的方法,它返回给定 nameentryType 的显式观察到的 PerformanceEntry 对象列表。该列表的成员由对 observe() 方法的调用中指定的 条目类型 集确定。该列表在观察者的回调函数中可用(作为回调函数中的第一个参数)。

语法

js
getEntriesByName(name)
getEntriesByName(name, type)

参数

name

表示要检索的条目的名称的字符串。

type 可选

表示要检索的条目类型的字符串,例如 "mark"。有效的条目类型列在 PerformanceEntry.entryType 中。

返回值

具有指定 nametype 的显式观察到的 性能条目 对象列表。如果未指定 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

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。