埋点上报的数据怎么避免重复发送?
我在做用户行为埋点的时候,发现同一个点击事件有时候会上报多次,比如快速连点按钮,或者组件重复渲染导致监听器被多次绑定。这样后台收到的数据就不准了。
我试过在事件回调里加个标志位防止重复提交,但感觉不太可靠。有没有更稳妥的做法?比如用防抖或者在上报前做去重?
function trackClick(elementId) {
// 每次点击都直接上报
sendBeacon('/log', { event: 'click', element: elementId });
}
document.getElementById('btn').addEventListener('click', () => {
trackClick('submit-btn');
});
暂无解答