我正在玩ES6(es2015?)和WebRTC,我希望有一个类抽象出PeerConnection的一些行为。我有两个不同的解决方案存在以下问题:
1。使用前缀RTCPeerConnection
class Connection extends webkitRTCPeerConnection {
constructor() {
super(null); //or some config
}
connect(endpoint) {
//Do something with the PeerConnection
}
}
var c = new Connection(); //Error here.
这会导致错误:
Uncaught TypeError: Failed to construct 'RTCPeerConnection': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
2。使用webrtc-adapter.js
import adapter from 'webrtc-adapter';
class Connection extends adapter.RTCPeerConnection {
constructor() {
super(null);
}
connect(endpoint) {
//Error caused when calling this method.
}
}
var c = new Connection(); //Works fine, can use PC methods etc.
c.connect(....); //Uncaught TypeError: c.connect is not a function
我使用' es2015'预设并在Chrome 46中运行它,以防万一。
我在这里做错了吗?向子类添加新方法是不合法的吗?或者是否与我对PeerConnection的使用有关? 任何帮助或替代解决方案都会受到欢迎。