javascript - 如何将 console.log 用于自定义功能?
问题描述
您好以下是我的代码:
const tst = require("trucksim-telemetry")
const telemetry = tst()
function update(data) {
console.log('Speed Limit:',data.navigation.speedLimit)
console.log('Speed:',data.truck.speed)
console.log('Controls:',data.controls.input)
console.log('ADAS:',data.truck.cruiseControl.enabled)
}
telemetry.watch({interval: 12}, update)
我可以将function update(data)
成功的所有内容记录到txt
文件中,但我也想记录
telemetry.watch({interval: 12}, update)
例如它向我显示时间(毫秒):0 12 24 等等,直到我关闭脚本。我尝试使用setinterval
函数,但它有时会多次记录一个间隔。对不起,如果我的问题含糊不清,我是 javascript* 的新手。
解决方案
您可以尝试从开始运行脚本开始捕获时间,并在update()
每次调用它时从该值中减去:
const now = new Date() // capture start time
const telemetry = tst()
function update(data) {
console.log('Time (ms):', new Date() - now) // time elapsed in ms
console.log('Speed Limit:',data.navigation.speedLimit)
console.log('Speed:',data.truck.speed)
console.log('Controls:',data.controls.input)
console.log('ADAS:',data.truck.cruiseControl.enabled)
}
telemetry.watch({interval: 12}, update)
或者,如果您尝试使用 12 的倍数进行绘图,则可以添加一个计数器并将其乘以 12ms
let counter = 0
const telemetry = tst()
function update(data) {
counter++
console.log('Time (ms):', counter*12) // difference is in ms
console.log('Speed Limit:',data.navigation.speedLimit)
console.log('Speed:',data.truck.speed)
console.log('Controls:',data.controls.input)
console.log('ADAS:',data.truck.cruiseControl.enabled)
}
telemetry.watch({interval: 12}, update)