我使用console.timeEnd
和console.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()
之前和之后设定时间,但我希望使用我喜欢的控制台功能
答案 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].level
(time
或timeEnd
),events[0].timer.name
(计时器名称),events[0].timeStamp
,events[0].timer.started
感兴趣(如果这是time
事件)和events[0].timer.duration
(如果timeEnd
事件)。