Angular 在ionic 2中,从本地存储访问数据并发送到服务器的正确方法是什么?
我正在尝试从本地存储中获取令牌并将其设置在标头中,但我不知道为什么它没有设置Angular 在ionic 2中,从本地存储访问数据并发送到服务器的正确方法是什么?,angular,ionic-framework,ionic2,angular2-services,angular-local-storage,Angular,Ionic Framework,Ionic2,Angular2 Services,Angular Local Storage,我正在尝试从本地存储中获取令牌并将其设置在标头中,但我不知道为什么它没有设置 getMurals() { return this.http.get(AppSettings.API_ENDPOINT+'/murals', this.getHeader()) .map((response: Response) => response.json()); } private getHeader() { let header = new Hea
getMurals() {
return this.http.get(AppSettings.API_ENDPOINT+'/murals', this.getHeader())
.map((response: Response) => response.json());
}
private getHeader() {
let header = new Headers();
this.storage.get('token').then((token)=>{
if(token){
header.append('authorization',token);
header.append('Content-Type','application/x-www-form-urlencoded');
}
})
return new RequestOptions({ headers: header });
}
您的
标题
尚未准备好,因为它正在等待获得存储
承诺以得到解决。调用时返回新的RequestOptions({headers:header})代码>,未准备标题
。流程是
let header=新的Headers()李>
正在等待存储解析令牌。尚未完成,仍将进行到3
返回新的RequestOptions({headers:header})李>
你可以回报我的承诺。像这样:
getMurals() {
this.getHeader().then(data => {
return this.http.get(AppSettings.API_ENDPOINT+'/murals', data)
.map((response: Response) => response.json());
})
}
private getHeader() {
let header = new Headers();
return new Promise((resolve) => {
this.storage.get('token').then((token)=>{
if(token){
header.append('authorization',token);
header.append('Content-Type','application/x-www-form-urlencoded');
}
resolve(new RequestOptions({ headers: header }));
});
});
}
此外,在出现错误的情况下,这里还有很多错误处理要做。请参阅以了解更多信息
注意:这也可以通过创建一个可观察的。您可以使用Observable.create(observator=>{observator.next(newrequestoptions({headers:header}));}
来实现这一点,因为您的头还没有准备好,因为它正在等待得到存储的解决。调用时返回新的RequestOptions({headers:header})代码>,未准备标题
。流程是
let header=新的Headers()李>
正在等待存储解析令牌。尚未完成,仍将进行到3
返回新的RequestOptions({headers:header})李>
你可以回报我的承诺。像这样:
getMurals() {
this.getHeader().then(data => {
return this.http.get(AppSettings.API_ENDPOINT+'/murals', data)
.map((response: Response) => response.json());
})
}
private getHeader() {
let header = new Headers();
return new Promise((resolve) => {
this.storage.get('token').then((token)=>{
if(token){
header.append('authorization',token);
header.append('Content-Type','application/x-www-form-urlencoded');
}
resolve(new RequestOptions({ headers: header }));
});
});
}
此外,在出现错误的情况下,这里还有很多错误处理要做。请参阅以了解更多信息
注意:这也可以通过创建一个可观察的。您可以使用Observable.create(observator=>{observator.next(newrequestoptions({headers:header}));})
来实现这一点