I'm unable to get the data response from unsplashAxios within the GetPhoto constructor, at the moment it just says 'Promise { }'. Have I missed something blatantly obvious or does this need rethinking?
Attempt 1
class Unsplash {
  constructor(path) {
    return new Promise((resolve, reject) => {
      unsplashAxios(path)
      .then(response => {
        resolve(response);
      })
      .catch(error => {
        reject(error);
      });
    });
  }
}
class GetPhoto {
  constructor() {
    console.log('Get Photo');
    const unsplash = new Unsplash('/photos/PgHc0Ka1E0A');
    console.log(unsplash)
    // Console.log Response - Promise { <pending> }
  }
}
Attempt 2
class Unsplash {
  constructor(path) {
    return unsplashAxios(path)
  }
}
class GetPhoto {
  constructor() {
    const unsplash = new Unsplash('/photos/PgHc0Ka1E0A');
    unsplash.then((response) => {
      console.log(response)
    }).catch((response) => {
      console.log(response);
    });
  }
}
Attempt 3 - After @Klaycon I've rewrote the above and this seems to work. But feedback would be great (good or bad).
const unsplashAxios = require('./unsplashAxios');
// Class
class Unsplash {
  // Constructor
  constructor() {
    this.unsplash = null;
  }
  // Method
  getPhoto(id){
    this.unsplash = unsplashAxios( `/photos/${id}`);
    this.unsplash.then((response) => {
      console.log(response)
    }).catch((response) => {
      console.log(response);
    });
  }
  // Method
  getCollection(id){
    this.unsplash = unsplashAxios(`/collections/${id}/photos`);
    this.unsplash.then((response) => {
      console.log(response)
    }).catch((response) => {
      console.log(response);
    });
  }
}
// Instance
myUnsplash = new Unsplash();
// Method
myUnsplash.getPhoto('PgHc0Ka1E0A');
// Method
myUnsplash.getCollection('62890');
 
     
    