Performance:getEntries() 方法

getEntries() 方法返回性能时间轴中当前存在的全部 PerformanceEntry 对象的数组。

如果您只对特定类型的或具有特定名称的性能条目感兴趣,请参阅 getEntriesByType()getEntriesByName()

注意:此方法不会通知您新的性能条目;您只会获取在调用此方法时性能时间轴中存在的条目。要接收有关条目的可用通知,请使用 PerformanceObserver

此方法根本不支持以下条目类型,即使这些类型的条目可能存在,也不会返回。

要访问这些类型的条目,您必须改用 PerformanceObserver

语法

js
getEntries()

参数

无。

返回值

ArrayPerformanceEntry 对象。项目将根据条目的 startTime 按时间顺序排列。

示例

记录所有性能标记和度量

假设您在代码的适当位置创建了自己的 PerformanceMarkPerformanceMeasure 对象,您可能希望像这样将它们全部记录到控制台

js
// Example markers/measures
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");
performance.mark("video-loaded");
performance.measure("login-duration", "login-started", "login-finished");

const entries = performance.getEntries();

entries.forEach((entry) => {
  if (entry.entryType === "mark") {
    console.log(`${entry.name}'s startTime: ${entry.startTime}`);
  }
  if (entry.entryType === "measure") {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  }
});

规范

规范
性能时间轴
# dom-performance-getentries

浏览器兼容性

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

另请参阅