javascript - how to correctly use promises to return 2 different results -


this question has answer here:

i trying use promises in javascript using es6 return data 2 methods object, in production call out endpoint.

my movieapi object have 2 promises want return firstly list of movies, , 1 movie id. want use promises avoid callback hell. following approach listed answer question arent promises callbacks doing wrong, have error findmovie not defined

let moviedata = [      {       id: '1011',       name: 'gleaming cube',        year: "1989"     },     {       id: "1012",       name: "airborne",        year: "1989"     }   ]  let movieapi = {       findmovie: function(id) {         return new promise(function(resolve, reject) {       if(id === undefined) reject(error('incorrect movie id'));        let movie = ''       (let m of moviedata) {         if (m.id.tolowercase() === id.tolowercase()) {           movie = m           break         }       }       resolve(movie)     });   },   findallmovies: function() {     return new promise(function(resolve, reject) {           if(moviedata === undefined) reject(error('could not find movies'))        resolve(moviedata)     });   }     } 

call movie promise this... error trying call second .then() method

movieapi.findallmovies() .then( function (movies){   return findmovie(req.params.id) }).then(function(movie){   let moviestore = { movie: movie, movies: movies } }).catch(function(error) {   console.error("failed!", error); }); 

is there way out of callback hell here, or have make call movieapi object, having same readability issue if using callbacks.

the problem return findmovie(req.params.id), findmovie property of movieapi object so

movieapi.findallmovies() .then( function (movies){   return movieapi.findmovie(req.params.id) }) 

demo: fiddle


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -