From da7dac0ee9a46bc86838bea85b583399a8c87597 Mon Sep 17 00:00:00 2001 From: LiRen Zhu Date: Thu, 25 Jun 2015 01:30:43 -0400 Subject: [PATCH] Fixed async usage to only invoke LogicalDevice.search callback when all device initializations have completed. --- lib/logicalDevice.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/logicalDevice.js b/lib/logicalDevice.js index 42d2342..6768267 100644 --- a/lib/logicalDevice.js +++ b/lib/logicalDevice.js @@ -100,13 +100,18 @@ var search = function(callback) { return new LogicalDevice(group.members, group.coordinator); }); - async.forEach(logicalDevices, function(device) { + async.forEach(logicalDevices, function(device, done) { device.initialize(function(err) { - if (err) callback(err); + if (err) done(err); else { - callback(null, logicalDevices); + done(null); } }); + }, function(err) { + if (err) callback(err); + else { + callback(null, logicalDevices); + } }); }