PerformanceObserver.observe()

这篇翻译不完整。请帮忙从英语翻译这篇文章

性能监测对象 的 observe() 方法用于观察传入的参数中指定的性能条目类型的集合。当记录一个指定类型的性能条目时,性能监测对象的回调函数将会被调用。

语法

observer.observe(options);

参数

 

options
一个只装了单个键值对的对象,该键值对的键名规定为 entryTypesentryTypes 的取值要求如下:
  • entryTypes 的值:一个放字符串的数组,字符串的有效值取值在性能条目类型 中有详细列出。如果其中的某个字符串取的值无效,浏览器会自动忽略它。
  • 另:若未传入 options 实参,或传入的 options 实参为空数组,会抛出 TypeError
 

示例

/* 写法一 */

//直接往PerformanceObserver()入参匿名回调函数,成功new了一个PerformanceObserver类的,名为observer的对象
var observer = new PerformanceObserver(function(list, obj) {
  var entries = list.getEntries();
  for (var i=0; i < entries.length; i++) {
    //处理 “mark” 和 “frame” 事件
  }
});
//调用observer对象的observe()方法
observer.observe({entryTypes: ["mark", "frame"]});

/* 写法二 */

//预先声明回调函数perf_observer
function perf_observer(list, observer) {
  //处理 “measure” 事件
}
//再将其传入PerformanceObserver(),成功new了一个PerformanceObserver类的,名为observer2的对象
var observer2 = new PerformanceObserver(perf_observer);
//调用observer2对象的observe()方法
observer2.observe({entryTypes: ["measure"]});

规范

Specification Status Comment
Performance Timeline Time Level 2
observe()
Editor's Draft Initial definition of observe() method.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 52.0 57 (57) 未实现 39 未实现
Feature Android Android Webview Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 未实现 57.0 (57) 未实现

39

未实现 52.0

文档标签和贡献者

 此页面的贡献者: warmilk
 最后编辑者: warmilk,