我试着辨别一条信息是通过哪两个渠道发出的,但我不知道如何区分它们.

我怎么能做到这一点呢?

let channel = null;
let channel2 = null;

channel = connection.createDataChannel('data');
channel2 = connection.createDataChannel('data2');


connection.ondatachannel = (event) => {

// I'm sure it's here, but I don't know how to tell the difference.
channel = event.channel;
channel2 = event.channel;


// Regardless of whether channel or channel2 is typed, the messages are mixed up.

channel.onmessage = (event) => {}
channel2.onmessage = (event) => {}


}

推荐答案

Datachannels有一个‘Label’属性,分别设置为datadata2,从创建者向接收者发送信号.你可以判断event.channel.label,并在此基础上做出决定.

Javascript相关问答推荐

JS、C++和C#给出不同的Base 64 Guid编码结果

Plotly热图:在矩形上zoom 后将zoom 区域居中

未捕获错误:[]:getActivePinia()被调用,但没有活动Pinia.🍍""在调用app.use(pinia)之前,您是否try 使用store ?""

如何用拉威尔惯性Vue依赖下拉?

在Three JS中看不到补间不透明度更改效果

不能将空字符串传递给cy.containes()

查询参数中的JAVASCRIPT/REACT中的括号

如何在我的Next.js项目中.blob()我的图像文件?

向数组中的对象添加键而不改变原始变量

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

当我点击一个按钮后按回车键时,如何阻止它再次被点击

JWT Cookie安全性

与在编剧中具有动态价值的定位器交互

如果我的列有条件,我如何呈现图标?

如何使用puppeteer操作所有选项

从异步操作返回对象

如何检测当前是否没有按下键盘上的键?

JSX/React -如何在组件props 中循环遍历数组

在点击链接后重定向至url之前暂停

在AgGrid中显示分组行的单元格值