JS浏览器:检查getUserMedia()生成的错误是否是DOMException错误对象

问题描述 投票:0回答:1

我想知道是否由于getUserMedia()函数或webRTC函数而在以下promise链中生成错误。Firefox documentation说:通过将DOMException错误对象传递给Promise的失败处理程序,可以拒绝返回的Promise。因此,如何知道我得到的错误对象在chrome和firefox中是否都是DOMException错误对象?

function handleVideoOfferMsg(msg) {
  var localStream = null;

  targetUsername = msg.name;
  createPeerConnection();

  var desc = new RTCSessionDescription(msg.sdp);

  myPeerConnection.setRemoteDescription(desc).then(function () {
    return navigator.mediaDevices.getUserMedia(mediaConstraints);
  })
  .then(function(stream) {
    localStream = stream;
    document.getElementById("local_video").srcObject = localStream;

    localStream.getTracks().forEach(track => myPeerConnection.addTrack(track, localStream));
  })
  .then(function() {
    return myPeerConnection.createAnswer();
  })
  .then(function(answer) {
    return myPeerConnection.setLocalDescription(answer);
  })
  .then(function() {
    var msg = {
      name: myUsername,
      target: targetUsername,
      type: "video-answer",
      sdp: myPeerConnection.localDescription
    };

    sendToServer(msg);
  })
  .catch(function(e){
   //know if error is generated by getUserMedia()
  });
}
javascript browser error-handling getusermedia
1个回答
0
投票

执行此操作的正确方法不是查看错误对象,而是在流程中的正确点捕获错误。

© www.soinside.com 2019 - 2024. All rights reserved.