У меня есть следующий nodeJS-код. Мне нужно получить машины для каждой службы из базы данных redis. Я использую библиотеку «q» для упрощения проблемы обратного вызова. Однако я не получаю выход.ошибка при использовании узла библиотеки QJS
Я новичок в node/callbacks/q. Где моя ошибка в коде?
У меня есть controller.js файл со следующим кодом
function getMachines(services) {
var machines = Q.fcall(function() {});
services.forEach(function(service) {
var value = function() {
var deferred = Q.defer();
redisDB.readfromRedis(service, function(result) {
deferred.resolve(result);
});
return deferred.promise;
}
});
return machines;
}
testController.js (вызов функции getMachines от controller.js)
var services = ['dashDb22', 'service1', 'service2', 'service3']
var output = controller.getMachines(services)
console.log(output);
RedisDb.js
function readfromRedis(key, callback) {
client.smembers(key, function(error, value) {
if (error) {
throw error;
}
console.log('VALUE IS: = ' + value);
callback(value);
});
}
Вы создали функцию 'value', но не вызываете ее. – zerkms