@mint_candy

Каким образом отлавливать синхронно данные, которые берутся из redis?

Всем привет тостеры.
Проблема в общем вот такая.
var data = [];  
directions.forEach((direction) => {
    var directionKey = direction.from+'-'+direction.to;
    redisClient.get(directionKey, (err, reply) => {
        if(err) next(err);
        var decoded = JSON.parse(reply);
        data.push({direction: decoded.direction, minMonthPrice: decoded.minMonthPrice.price});
    });
});
console.log(data);


В данном коде, я циклично по массиву ключей достаю значения из редис, и пушу их в массив, который нужно вернуть на фронт, и вот проблема. После цикла мой массив пустой.... Я понимаю что это какая-то проблема асинхронности, и мои знания не позволяют мне эту проблему решить. Подскажите, каким образом лучше вытаскивать данные из редиса, так чтобы они в итоге оказались в массиве :D

Спасибо заранее за ответы.
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mint_candy Автор вопроса
В очередной раз нашел ответ сам на свой вопрос.
Кому интересно, используйте в таких ситуациях multi, а затем в exec обрабатывайте массив с результатами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 03:11
500 руб./за проект
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект