const async = require('async')
function getTopicsData(tids, Uid, callback) {
async.map(tids, (tid, next) => {
redis.hgetall(`topic:${tid}`, (err, topics) => {
redis.sismember(`topic:${tid}:subscribers`, Uid, (err, subscriber) => {
topics.subscriber = !!subscriber
next(false, topics)
})
})
}, callback)
}
module.exports = getTopicsData
function getTopicsData(tids, Uid) {
const result = tids.map(async tid => {
// если hgetall возвращает промис
const topics = await redis.hgetall(`topic:${tid}`).catch(err => console.error(err));
// если sismebmer вовзращает промис
const subscriber = await redis.sismember(`topic:${tid}:subscribers`, Uid).catch(err => console.error(err));
topics.subscriber = !!subscriber
return topics; // или что вам там надо в результате? В общем, то что надо нужно вернуть тут.
})
return Promise.all(result);
}