使用ES6类扩展RTCPeerConnection

时间:2015-11-29 10:59:24

标签: javascript webrtc ecmascript-6

我正在玩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的使用有关? 任何帮助或替代解决方案都会受到欢迎。

0 个答案:

没有答案