asynchronous callback

by ncox85

HTML

<div id="primary">

</div>

JavaScript

function todaysDate(){

	var date = '';
	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth()+1; //January is 0!
	var yyyy = today.getFullYear();

		if(dd<10) {
		    dd='0'+dd
		} 

		if(mm<10) {
		    mm='0'+mm
		} 

		date = yyyy+'-'+mm+'-'+dd;
		return date;
}

function oneYearDate(){
	
	var futureDate = '';
	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth()+1; //January is 0!
	var yyyy = today.getFullYear();

		if(dd<10) {
		    dd='0'+dd
		} 

		if(mm<10) {
		    mm='0'+mm
		} 

		futureDate = yyyy+1+'-'+mm+'-'+dd;
		return futureDate;
}

function data(callback){
	var url = 'https://launchlibrary.net/1.2/launch/' + todaysDate() + '/' + oneYearDate() + '/mode=verbose?callback=launchDisplay';
	var request = new XMLHttpRequest();
		request.onreadystatechange = function() {
			if (request.readyState === 4) {
			    if (request.status === 200) {
			        document.body.className = 'ok';
			        callback(request.responseText);
			    } else {
			        document.body.className = 'error';
			    }
			}
		};
	request.open("GET", url , true);
	request.send(null);
}

function launchDisplay(data){
	//Gather and store relevant data
	data = JSON.parse(data);
	var rocketName = [];
	 
	for(i = 0; i < data.launches.length; i++){
		rocketName.push(data.launches[i].rocket.name);
	}
	console.log(rocketName);
	var paragraph = document.createElement("p");
	document.getElementById("primary").appendChild(paragraph).innerHTML = rocketName[1];
}
data(launchDisplay);