【发布时间】:2017-10-11 14:39:30
【问题描述】:
我有这个代码:
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import { Storage } from '@ionic/storage';
import { AppSettings } from './shared';
@Injectable()
export class HttpClient {
constructor(private http: Http, private storage: Storage) { }
createAuthorizationHeader(headers: Headers) {
var token: string = '';
this.storage.get(AppSettings.StorageKeys.Token).then(value => {
token = value;
});
headers.append('Authorization', 'Bearer ' + token);
}
get(url) {
let headers = new Headers();
this.createAuthorizationHeader(headers);
return this.http.get(url, {
headers: headers
});
}
post(url, data) {
let headers = new Headers();
this.createAuthorizationHeader(headers);
return this.http.post(url, data, {
headers: headers
});
}
}
这里的问题是:
this.storage.get(AppSettings.StorageKeys.Token).then(value => {
token = value;
});
这是承诺。那么如何更改createAuthorizationHeader 函数,以便正确附加标头?
这是 Ionic2 代码,但大多数问题与承诺的工作有关。
【问题讨论】:
标签: javascript angular promise angular2-services