twilio - 如何在浏览器的 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
我的问题:
- 这是正确的方法吗?
- 如果是这样,我如何在浏览器端的javascript中实现它,特别是“require('events')”部分?
- 为什么我无法在线找到好的 Twilio 文档?我知道它就在某个地方,但我一直不得不通过代码反复试验,或者打开支持票,这对支持团队来说很慢而且不公平。我错过了什么?
解决方案
我怀疑我是唯一对此感到困惑的人,所以这就是我能够弄清楚的(希望这对其他人有所帮助)。这是我经过大量编辑的代码:
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' 事件是我需要注意的。如果成功,它会发出“重新连接”事件,所以我需要查看我是否得到了一个而不是另一个,这表明我可能需要手动解决一个问题。
推荐阅读
- c# - 通过 HTTP 添加 Azure 服务总线规则
- javascript - 类型“{}”不可分配给类型“只读”
类型“{}”中缺少“属性”... - javascript - jquery 不更新 iframe 内容
- php - 如何仅为访问者创建重定向(不适用于搜索机器人)
- docker - Docker compose 使用 up 命令无意中重新创建图像
- string - python列表中的唯一元素
- javascript - 将 Shopify 访问令牌发送给客户端会是一个坏主意吗?
- javascript - 标记一个元素时验证所需的复选框
- regex - 正则表达式在bash中的值和键周围添加双引号
- azure - Dynamics CRM 365 - 使用虚拟实体