0
我有以下nodeJS代碼。我需要從redis數據庫獲取每臺服務的機器。我正在使用'q'庫來簡化回調問題。但是我沒有得到輸出。JS
我剛接觸node/callbacks/q。代碼中的錯誤在哪裏?
我有以下代碼
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(呼叫從controller.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