У меня есть метод в поставщике
getProfile() {
let headers = new Headers();
this.loadToken();
headers.append('Authorization', this.authToken);
headers.append('Content-Type','application/json');
return this.http.get(this.db_url + 'profile',{headers: headers})
.map(res => res.json());
}
Я вызываю вышеуказанный метод в другом поставщике как
getProfile() {
this.authService.getProfile().subscribe((profile: any) => {
this.profile = profile.user._id;
},(err : any) => console.log(err))
}
Здесь я хочу остановить выполнение кода доthis.profile = profile.user._id
эта строка выполняется. В том же provider
, где я объявляю метод getProfile()
, у меня есть http-запрос как
let headers = new Headers();
headers.append('Content-Type','application/json');
let selected = {
address: home.address,
date: new Date(),
id: this.profile // from the getProfile() file.
}
console.log(selected);
Выход дляid
- это undefined
.Я думаю, что здесь есть асинхронность.