Avoid creating functions inside loop, properly terminates now

This commit is contained in:
Andrew Stewart 2014-10-14 10:25:58 -07:00
parent 7f0b5772fa
commit 157fcec25e
1 changed files with 8 additions and 12 deletions

View File

@ -316,26 +316,22 @@ Robot.prototype.startDevices = function(callback) {
Robot.prototype.halt = function(callback) {
callback = callback || function() {};
var fns = [];
for (var d in this.devices) {
var fns = Object.keys(this.devices).map(function(d) {
var device = this.devices[d];
fns.push(function(callback) {
return function(callback) {
device.halt.call(device, callback);
});
}
};
}.bind(this));
Async.parallel(fns, function() {
var fns = [];
for (var c in this.connections) {
var fns = Object.keys(this.connections).map(function(c) {
var connection = this.connections[c];
fns.push(function(callback) {
return function(callback) {
connection.disconnect.call(connection, callback);
});
}
};
}.bind(this));
Async.parallel(fns, callback);
}.bind(this));