I'm trying to check if a user has a camera.
The MediaDevices.getUserMedia() documentation says that there are 2 possible errors: SecurityError and NotFoundError
Is there a way to detect which one of the two occurred, and do separate things for each one?
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
});
EDIT
Probably not the best way but it works for me:
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
});
I think it is not true way but it can works.
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
}
Errors can be a different types (object, string). First we should look our error.