如何在浏览器中捕获 Twilio 库中的错误?

How do I trap errors in the Twilio library in the browser?

我正在使用 Twilio Video SDK 构建视频聊天网站。核心功能正在运行,但我不断在浏览器控制台中看到零星的错误,例如:

- (node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
- ICE Connection Monitor detected inactivity
- An ICE restart has been scheduled
- Attempting to restart ICE
- ICE failed, add a STUN server and see about:webrtc for more details

有些似乎是警告,有些是错误。如何捕获这些错误以便我可以适当地更新 UI?我想我想在这里使用 EventEmitter 逻辑:https://media.twiliocdn.com/sdk/js/video/releases/2.5.1/docs/global.html#EventListener__anchor

我的问题:

我怀疑我是唯一对此感到困惑的人,所以这就是我能够弄清楚的(希望这对其他人有所帮助)。这是我经过大量编辑的代码:

Twilio.Video.connect(token, { 
    options
}).then(room => {
    room.on('reconnecting', error => {console.log("Room reconnecting: " + error );});
}, error => {
    console.log('Unable to connect to Room: ' + error.message);
});

根据文档:https://media.twiliocdn.com/sdk/js/video/releases/2.6.0/docs/Room.html,房间 class 扩展了 EventEmitter,因此您不需要创建单独的 EventEmitter 对象,并且“require('events') ;"件是不需要的。文档还列出了您可以收听的事件,尽管似乎存在一些差距。例如,参与者 class 发出 'trackSubscribed' 事件,但它不在文档中。

对于我看到的错误,房间 'reconnecting' 事件似乎是我需要注意的。如果成功,它会发出 'reconnected' 事件,所以我需要查看我是否得到一个而不是另一个,这表明我可能需要手动解决一个问题。