打印时间戳
问题
如果我们想看到打印的时间戳呢?
1. 给 logs
加上时间戳
这就用到了计时的相关操作:
要给应用中发生的事件, 加上一个确切的时间戳,需要开启 timestamps
。
你可以在设置(在调试工具中的 ⋮
下拉中找到它,或者按下 F1
)中来开启。
但是我建议你使用 Commands Menu
2. 监测执行时间
与其在所有事上展示一个时间戳,或许你对脚本中的特殊的节点之间执行的时间跨度更加感兴趣,对于这样的情况,我们可以采用一对有效的 console
方法
console.time()
— 开启一个计时器console.timeEnd()
— 结束计时并且将结果在console
中打印出来
如果你想一次记录多件事,可以往这些函数中传入不同的标签值。(例如: console.time('loading')
, console.timeEnd('loading')
)
3. 让 console.log
基于调用堆栈自动缩进
配合 Error
对象的 stack
属性,让你的 log
可以根据堆栈的调用自动缩进:
function log(message) {
console.log(
// 这句话是重点当我们 new 出来的 Error 对象时,会匹配它的stack 信息中的换行符,换行符出现的次数也等同于它在堆栈调用时的深度。
' '.repeat(new Error().stack.match(/\n/g).length - 2) + message
);
}
function foo() {
log('foo');
return bar() + bar();
}
function bar() {
log('bar');
return baz() + baz();
}
function baz() {
log('baz');
return 17;
}
foo();
运行结果如下: