如何获取console.timeEnd值并放入数组?

时间:2014-10-25 02:16:32

标签: firefox-addon

我使用console.timeEndconsole.time进行某些时间安排。我想将这些时间推入数组并对它们进行一些统计。但是.time和.timeEnd都没有返回值。有什么想法吗?

由于

var blah = console.time('path');
var path = FileUtils.getFile('DefProfRt', []).path;
var blah2 = console.timeEnd('path');
console.log('blah', blah);
console.log('blah2', blah2);

我知道我可以在new Date.getTime()之前和之后设定时间,但我希望使用我喜欢的控制台功能

1 个答案:

答案 0 :(得分:1)

您可以使用ConsoleAPIStorage服务。 getEvents方法返回所有控制台事件(您也可以将内部窗口ID(如果可用)作为参数传递)

let consoleAPIStorage = Cc["@mozilla.org/consoleAPI-storage;1"].getService(Ci.nsIConsoleAPIStorage);

var events = consoleAPIStorage.getEvents().filter(function(ev){
  return ev.timer !== null && // get only time and timeEnd events
         ev.filename == "filename.js"; // get specific js scope
});

我猜您对events[0].leveltimetimeEnd),events[0].timer.name(计时器名称),events[0].timeStampevents[0].timer.started感兴趣(如果这是time事件)和events[0].timer.duration(如果timeEnd事件)。