你能告诉我如何回到Observable
这里吗?我尝试了很多方法。但是还没有成功。
[ts]声明类型既不是'void'也不是'any'的函数必须返回一个值。
deleteInvite(inviteId):Observable<HttpResponse<Object>> {
this.getHttpHeader().then(headers => {
return this.http.post(this.apiURL + "/deleteInvite", inviteId, { observe: "response", headers: headers })
}).catch(err => {
console.error(err);
});
}
async getHttpHeader() {
const accessToken = await this.getJWTToken();
let headers = new HttpHeaders().set('Authorization', `Bearer ${accessToken}`);
return headers;
}
FOR rxjs版本:6.0.0以上
import { from } from 'rxjs';
deleteInvite(inviteId):Observable<HttpResponse<Object>> {
return from(this.getHttpHeader()).pipe(
switchMap(headers => {
return this.http.post(this.apiURL + "/deleteInvite", inviteId, { observe: "response", headers: headers })
}),
catchError(err => {
console.error(err);
})
);
}
对于旧版本的rxjs:
thisGetHeaders()
通过使用将转换为ObservablefromPromise
import { fromPromise } from 'rxjs/observable/fromPromise';
deleteInvite(inviteId):Observable<HttpResponse<Object>> {
return fromPromise(this.getHttpHeader()).pipe(
switchMap(headers => {
return this.http.post(this.apiURL + "/deleteInvite", inviteId, { observe: "response", headers: headers })
}),
catchError(err => {
console.error(err);
})
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句