본문 바로가기
Frontend/엘리스 SW 엔지니어 트랙

[ 엘리스 SW 엔지니어 트랙 ] 40일차 TLDR

by YWTechIT 2021. 12. 18.
728x90

📍 40일 차 12.18. 토. 프로젝트 5일 차 TLDR

  1. 비동기 함수가 중첩되어있을 때 return 하려면 return new Promiseresolve를 넣어주어 꺼내주자.
  2. 함수에 단순히 return을 넣고 console.log 찍으면 undefined가 나온다.
  3. JS에서 라이브러리 사용 시 npm install 이후 import from으로 불러오기
728x90
function getGPSCoordinate(img) {
    return new Promise((resolve, reject) => {
      img.addEventListener("load", function () {
        EXIF.getData(this, function () {
          const GPSLatitude = EXIF.getTag(this, "GPSLatitude");
          const GPSLatitudeRef = EXIF.getTag(this, "GPSLatitudeRef");
          const GPSLongitude = EXIF.getTag(this, "GPSLongitude");
          const GPSLongitudeRef = EXIF.getTag(this, "GPSLongitudeRef");

          if (GPSLatitude === undefined || GPSLongitude === undefined) {
            reject("GPS 정보가 없습니다.");
            return;
          }

          const [latitudeDecimal, longitudeDecimal] = [
            convertCoordinateToDecimal(GPSLatitude, GPSLatitudeRef),
            convertCoordinateToDecimal(GPSLongitude, GPSLongitudeRef),
          ];
          resolve([latitudeDecimal, longitudeDecimal]);
        });
      });
    });
  }
반응형

댓글