Interview challenge : getMovieTitles

Myriad Systems.

To solve this challenge, write an HTTP GET method to retrieve information from a particular movie database.

https://stackoverflow.com/questions/48448432/fragment-of-missing-code-in-the-solution-movie-titles-complete-a-challenge-more

function getMovieTitlesData(title, page = 1) {
   const url = 'https://jsonmock.hackerrank.com/api/movies/search/?Title=' + title + '&page=' + page;
   console.log('URL:',url);
   const titles = [];
   return new Promise((resolve, reject) => {
      fetch(url, {
        method: 'get',
      }).then((response) => {
        return response.json();
      }).then((jsondata) => {
        for (let i = 0; i < jsondata.data.length; i++) {
           titles.push(jsondata.data[i].Title);
      }
      var total_pages = Number(jsondata.total_pages); 
      var curpage = Number(jsondata.page); 
      resolve({
         titles : titles,
         page : page,
         total_pages : total_pages
      });
    }).catch((error) => {
      console.log("Failure", error);
    })
  })

}


function getMovieTitles(substr) {
   const promises = [];
   const titles = []; 
   getMovieTitlesData(substr).then(result => {
     titles.push(...result.titles);
     for (let i = result.page + 1; i <=result.total_pages; i++) {
        promises.push(getMovieTitlesData(substr, i));
     }
     Promise.all(promises).then(datas => {
       datas.forEach(data => {
          titles.push(...data.titles);
       });
       console.log(titles.sort());

     });
  })
}

getMovieTitles('spiderman');