Use d3.queue() to fetch data before using it
This commit is contained in:
parent
2505389a93
commit
d6c9a6650c
152
js/main.js
152
js/main.js
@ -1,24 +1,142 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
console.log("Main script running.");
|
console.log("Main script running.");
|
||||||
|
|
||||||
console.log("Let's load and preprocess all data properly.");
|
|
||||||
|
|
||||||
// data/circuits.csv
|
// data/circuits.csv
|
||||||
d3.csv('data/circuits.csv', function(data) {
|
function fetchCircuits(callback) {
|
||||||
console.log(data[0]);
|
d3.csv('data/circuits.csv', function(data) {
|
||||||
});
|
// TODO: process data
|
||||||
|
var circuits = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// data/constructorResults.csv
|
// data/constructorResults.csv
|
||||||
// data/constructors.csv
|
function fetchConstructorResults(callback) {
|
||||||
// data/constructorStandings.csv
|
d3.csv('data/constructorResults.csv', function(data) {
|
||||||
// data/drivers.csv
|
// TODO: process data
|
||||||
// data/driverStandings.csv
|
var constructorResults = data;
|
||||||
// data/lapTimes.csv
|
callback(null); // Tell the queue we're done.
|
||||||
// data/pitStops.csv
|
});
|
||||||
// data/qualifying.csv
|
}
|
||||||
// data/races.csv
|
|
||||||
// data/results.csv
|
|
||||||
// data/seasons.csv
|
|
||||||
// data/status.csv
|
|
||||||
|
|
||||||
console.log("All done. Ready.");
|
// data/constructors.csv
|
||||||
|
function fetchConstructors(callback) {
|
||||||
|
d3.csv('data/constructors.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var constructors = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/constructorStandings.csv
|
||||||
|
function fetchConstructorStandings(callback) {
|
||||||
|
d3.csv('data/constructorStandings.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var constructorStandings = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/drivers.csv
|
||||||
|
function fetchDrivers(callback) {
|
||||||
|
d3.csv('data/drivers.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var drivers = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/driverStandings.csv
|
||||||
|
function fetchDriverStandings(callback) {
|
||||||
|
d3.csv('data/driverStandings.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var driverStandings = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/lapTimes.csv
|
||||||
|
function fetchLapTimes(callback) {
|
||||||
|
d3.csv('data/lapTimes.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var lapTimes = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/pitStops.csv
|
||||||
|
function fetchPitStops(callback) {
|
||||||
|
d3.csv('data/pitStops.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var pitStops = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/qualifying.csv
|
||||||
|
function fetchQualifying(callback) {
|
||||||
|
d3.csv('data/qualifying.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var qualifying = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/races.csv
|
||||||
|
function fetchRaces(callback) {
|
||||||
|
d3.csv('data/races.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var races = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/results.csv
|
||||||
|
function fetchResults(callback) {
|
||||||
|
d3.csv('data/results.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var results = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/seasons.csv
|
||||||
|
function fetchSeasons(callback) {
|
||||||
|
d3.csv('data/seasons.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var seasons = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// data/status.csv
|
||||||
|
function fetchStatus(callback) {
|
||||||
|
d3.csv('data/status.csv', function(data) {
|
||||||
|
// TODO: process data
|
||||||
|
var status = data;
|
||||||
|
callback(null); // Tell the queue we're done.
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("Let's load and preprocess all data properly.");
|
||||||
|
|
||||||
|
// Create a queue, add all the fetch&process functions and await their results
|
||||||
|
d3.queue()
|
||||||
|
.defer(fetchCircuits)
|
||||||
|
.defer(fetchConstructorResults)
|
||||||
|
.defer(fetchConstructors)
|
||||||
|
.defer(fetchConstructorStandings)
|
||||||
|
.defer(fetchDrivers)
|
||||||
|
.defer(fetchDriverStandings)
|
||||||
|
.defer(fetchLapTimes)
|
||||||
|
.defer(fetchPitStops)
|
||||||
|
.defer(fetchQualifying)
|
||||||
|
.defer(fetchRaces)
|
||||||
|
.defer(fetchResults)
|
||||||
|
.defer(fetchSeasons)
|
||||||
|
.defer(fetchStatus)
|
||||||
|
.await(function(error) {
|
||||||
|
console.log("All done. Ready.");
|
||||||
|
console.log(arguments);
|
||||||
|
if(error) throw error;
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user