Estoy tratando de verificar si un usuario tiene una cámara.
La documentación de MediaDevices.getUserMedia() dice que hay 2 posibles errores: SecurityError y NotFoundError
¿Hay alguna manera de detectar cuál de los dos ocurrió y hacer cosas separadas para cada uno?
navigator.mediaDevices.getUserMedia({ video: true }) .then(function() { //do something }) .catch(function(error) { //if error = security error, do something //if error = camera not found, do something else });EDITAR
Probablemente no sea la mejor manera, pero funciona para mí:
navigator.mediaDevices.getUserMedia({ video: true }) .then(function() { //do stuff }) .catch(function(error) { if(error.message.includes("Requested device not found")) //do stuff else if(error.message.includes("Permission denied")) //do other stuff });Creo que no es cierto, pero puede funcionar.
if(error.includes("something from security error message"){ //do something about security } else if(error.includes("something from camera error message"){ //do something about camera }Los errores pueden ser de diferentes tipos (objeto, cadena). Primero debemos mirar nuestro error.