У меня есть набор ID фильмов в Redis: [1,2,3,4]
и набор хешей с актуальными данными. Теперь я хочу получить все данные фильма для идентификаторов за один раз.
Я пытаюсь использовать промисы bluebird, но я застрял. Пока что у меня есть:
function allMovies() { var movies, movieIds; return client.smembersAsync('movies.ids').then(function(ids) { movieIds = ids; movies = _.map(movieIds, function(id) { var movie; return client.hmgetAsync("movies:" + id, 'title', 'description', 'director', 'year').done(function(data) { movie = data; return { title: data[0], description: data[1], director: data[2], year: data[3] }; }); return movie; }); })
Проблема в том, что я пытаюсь, что я всегда получаю новое обещание, в то время как меня просто интересует JSON после завершения всех операций.
Кто-нибудь здесь может пролить свет на это?