我正在使用Tracking JS帮助检测用户眼睛是否打开,然后只检测到少于3个物体,面部,嘴巴和一只眼睛的音频。我对它的信任和工作非常有说服力,但事件是过于频繁地跟踪和更新数据,导致非常不稳定和不和谐的体验。
目前,我让跟踪器不断跟踪跟踪器,如下所示:
tracker.on('track', function(event) {
if (event.data.length > 2 ) {
document.body.classList.add("hide");
pauseAudio();
} else {
document.body.classList.remove("hide");
playAudio();
}
有没有办法减少频繁运行此函数或指定每秒运行多少次?
答案 0 :(得分:0)
您可以使用某种限制机制,lodash
构建它。
_.throttle
,获取功能&限制时间,并返回一个限制函数,因此您可以将其用作:
const handler = function(event) {
if (event.data.length > 2 ) {
document.body.classList.add("hide");
pauseAudio();
} else {
document.body.classList.remove("hide");
playAudio();
}
};
const throttledHandler = _.throttle(handler, 100); // 100ms
tracker.on('track', throttledHandler);