Unraveling the timing.

pull/25/head
Pontus Persson 2017-12-08 20:27:42 +01:00 committed by Pontus Alexander
parent 5ff20767ce
commit f2e9b46144
2 changed files with 16 additions and 8 deletions

View File

@ -1,6 +1,6 @@
import { createUUID } from './random.js'; import { createUUID } from './random.js';
export function createPeerExchange(address) { export async function createPeerExchange(address) {
const uuid = createUUID(); const uuid = createUUID();
const server = new WebSocket(address); const server = new WebSocket(address);
@ -26,8 +26,12 @@ export function createPeerExchange(address) {
server.addEventListener('message', onMessage); server.addEventListener('message', onMessage);
return { return new Promise(resolve => {
listen, server.addEventListener('open', () => {
send, resolve({
}; listen,
send,
});
});
});
} }

View File

@ -5,16 +5,16 @@ import { createPeer } from './peer.js';
var peerConnection; var peerConnection;
var serverConnection; var serverConnection;
function pageReady() { async function pageReady() {
document.querySelector("button#start") document.querySelector("button#start")
.addEventListener("click", extendOffer); .addEventListener("click", extendOffer);
serverConnection = createPeerExchange('wss://' + window.location.hostname + ':8443'); serverConnection = await createPeerExchange('wss://' + window.location.hostname + ':8443');
setup(); setup();
} }
function setup() { async function setup() {
peerConnection = createPeer(serverConnection, peerConnectionConfig); peerConnection = createPeer(serverConnection, peerConnectionConfig);
peerConnection.addEventListener('addstream', stream => { peerConnection.addEventListener('addstream', stream => {
@ -30,10 +30,14 @@ function setup() {
.then(stream => { .then(stream => {
document.getElementById('localVideo').srcObject = stream; document.getElementById('localVideo').srcObject = stream;
peerConnection.addStream(stream); peerConnection.addStream(stream);
extendOffer();
}); });
//setTimeout(extendOffer, 50);
} }
function extendOffer() { function extendOffer() {
console.log('Extending offer');
peerConnection.createOffer().then(createdDescription).catch(errorHandler); peerConnection.createOffer().then(createdDescription).catch(errorHandler);
} }