首页 > 解决方案 > 如何在浏览器的 Twilio 库中捕获错误?

问题描述

我正在使用 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

我的问题:

标签: twiliotwilio-api

解决方案


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

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,房间类扩展了EventEmitter,所以你不需要创建一个单独的EventEmitter对象和“require('events');” 件是不需要的。文档还列出了您可以收听的事件,尽管似乎存在一些差距。例如,Participant 类发出“trackSubscribed”事件,但它不在文档中。

对于我看到的错误,看来 Room 'reconnecting' 事件是我需要注意的。如果成功,它会发出“重新连接”事件,所以我需要查看我是否得到了一个而不是另一个,这表明我可能需要手动解决一个问题。


推荐阅读