Данные EXIF-JS становятся неопределенными вне метода - PullRequest
0 голосов
/ 20 октября 2019

Я разрабатываю веб-приложение с использованием Angular 8. Я просто хочу получить доступ к exif-данным входного изображения вне метода getData, назначив полученные данные глобальной переменной. Если я попытался получить доступ к глобальной переменной после выполнения функции, она показывает неопределенный. Вот функция для извлечения данных EXIF:

photodata: any; // global variable
getPhotodata(file) {
    EXIF.getData(file, function() {
      const data = EXIF.getAllTags(this);
      console.log(data); // working
      console.log(data.Make); // working
      console.log(data.Model); // working
      console.log(data.DateTimeOriginal); // working
      this.photodata = data;
      console.log(this.photodata) // working
  });
  }
  console.log(this.photodata) // here it is showing undefined

Я попытался вернуть данные. Но это тоже не сработало

getPhotodata(file) {
    EXIF.getData(file, function() {
      const data = EXIF.getAllTags(this);
      console.log(data); // working
      console.log(data.Make); // working
      console.log(data.Model); // working
      console.log(data.DateTimeOriginal); // working
      return data;
  });
  }
console.log(getPhotodata(file)) // undefined
...