2016-06-02 14 views
1

В приложении я использую веб-камеру. Для доступа к нему я использовал webcam.js (https://pixlcore.com/). Но когда я открыл его в eclipse, он показывает ошибку как: Syntax error on token "catch", Identifier expected. небольшой фрагмент кода:Какая ошибка в .catch внутри файла webcam.js

  var self = this; 
      this.mediaDevices.getUserMedia({ 
       "audio": false, 
       "video": this.params.constraints || { 
        mandatory: { 
         minWidth: this.params.dest_width, 
         minHeight: this.params.dest_height 
        } 
       } 
      }) 
      .then(function(stream) { 
       // got access, attach stream to video 
       video.src = window.URL.createObjectURL(stream) || stream; 
       self.stream = stream; 
       self.loaded = true; 
       self.live = true; 
       self.dispatch('load'); 
       self.dispatch('live'); 
       self.flip(); 
      }) 
      .catch(function(err) { //here shows error 
       return self.dispatch('error', "Could not access webcam: " + err.name + ": " + err.message, err); 
      }); 

В чем причина и как его решить?

+0

Я думаю, что это тот же вопрос, как и в HTTP : //stackoverflow.com/questions/33385950/eclipse-mars-javascript-validator-on-angular-services. –

ответ

2

Проблема заключается, по-видимому, в том, что catch является reserved keyword, и, таким образом, ваша проверка кода считает, что это ошибка. Тем не менее, ваша проверка кода на самом деле ошибочна, и catch также является действительным вызовом метода. То есть, если вы не старше, если IE.

В старых версиях IE этот код не будет выполнен, так как он также имел эту проблему, когда он принимал catch вне try/catch был недействительным. Я считаю, что этот вопрос был исправлен либо в IE9, либо в IE10, но не уверен.

Во всяком случае, вы можете обойти эту проблему как для старых IE и других вещей с этой общей проблемой, используя catch в строке с доступом скобки собственности:

// ... 
.then(function(stream) { 
    // ... 
}) 
['catch'](function(err) { 
    // ... 
}); 
+0

Спасибо, что работает! Я использую ECMAScript 3, поэтому я думаю, что он не подтвердил. – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^