Avoid wrapper-functions to capture looping variable values

Use async-queue defer additional parameters
This commit is contained in:
Javier Goizueta
2016-01-20 10:07:19 +01:00
parent 89590d32df
commit 54854f0984
2 changed files with 15 additions and 19 deletions
+10 -12
View File
@@ -24,19 +24,17 @@ OverviewsApi.prototype.getOverviewsMetadata = function (username, sql, callback)
var q = queue(parallelism);
for ( var i=0; i < tableNames.length; ++i ) {
(function(tableName) {
q.defer(function(done){
var sql = "SELECT * FROM CDB_Overviews('" + tableName + "');";
this.pgQueryRunner.run(username, query, handleOverviewsRows, function(err, table_metadata){
if (err) {
done(err);
} else {
metadata[tableName] = table_metadata;
done(null);
}
});
q.defer(function(tableName, done){
var sql = "SELECT * FROM CDB_Overviews('" + tableName + "');";
this.pgQueryRunner.run(username, query, handleOverviewsRows, function(err, table_metadata){
if (err) {
done(err);
} else {
metadata[tableName] = table_metadata;
done(null);
}
});
}(tableNames[i]));
}, tableNames[i]);
}
q.awaitAll(function(err, results){
@@ -16,14 +16,12 @@ MapConfigNamedLayersAdapter.prototype.getMapConfig = function(username, mapconfi
var q = queue(parallelism);
for ( var i=0; i < layers.length; ++i ) {
(function(layer) {
q.defer(function(done){
this.overviewsApi.getOverviewsMetadata(username, layer.options.sql, function(err, metadata){
// TODO: is it legit to modify layer like this?
layer.options.overviews = metadata;
});
q.defer(function(layer, done){
this.overviewsApi.getOverviewsMetadata(username, layer.options.sql, function(err, metadata){
// TODO: is it legit to modify layer like this?
layer.options.overviews = metadata;
});
})(layers[i]);
}, layers[i]);
};
q.awaitAll(function(err){