我可能已经为自己回答了这个问题,但我需要进行理智检查......
我有一个标签每 500 毫秒通过广播频道广播到另一个标签。第二个选项卡设置为接收广播并在控制台日志中打印它们。
发送选项卡:
const crossTraffic = new BroadcastChannel('crossTraffic');
const queueInterval = setInterval(function(){
crossTraffic.postMessage({action: 'keepalive', cTime: Date.now()});
console.log(`cTime sent ${Date.now()}`);
}
},500);
接收标签:
const crossTraffic = new BroadcastChannel('crossTraffic');
crossTraffic.onmessage = function(e){
if (e.data.action === 'keepalive'){
console.log(`ctime received ${e.data.cTime}`);
}
}
我观察到以下情况:无论我为什么设置 queueInterval 时间,接收选项卡都不会每 1,000 毫秒接收一次以上的广播。
这是广播频道的正常行为还是可以以小于 1,000 毫秒的间隔接收消息?