How to properly string together HTTP requests with promises in JS

I am trying to make some code execture synchonously. I have three function getData1, getData2, and userCheck, and I want them to execute in this order. I assumed using promises would be the way to go. getData1 and getData2 are functions that use a service in order to make an HTTP requests. I have getData1 working correctly, but getData2 requires an HTTP requests that gives me a value and then a second requests that uses that value and then a thrid requests that uses the value form the second. I cant get things executing properly. 

getData2 looks like:

getData2(user: string, id: string){
		console.log('grabbing CC information', id, user);
		return new Promise((resolve, reject) =>
		{
			return this._apiService.getAssertion(id).toPromise().then(assert =>
			{
				return this._apiService.getToken(assert.toString());
			}).then((data: any) =>
			{
				return this._apiService.ccMeta(data.access_token.toString(), guid);
			}).then(parseString(Promise)).then((information: any) =>
			{
				this.ccData.push(
				{
					key: 'userStatus',
					value: information.entry
				});
			});
			resolve();
		});
	}

So when I run my app and test this, I know that I get assert, but then when I try to make the second call to the service for the requests, things are undefined, like assert was not passed to the function. I have no idea what I am doing wrong. Please give me some advice.