[英]How to return a promise inside Observable subscriber angular 8
我正在處理一個 angular 8 項目,我需要在訂閱中返回一個承諾。 這是我的觀察:
export async function resolvePage(api: ApiService, transition: Transition) {
const slug = transition.params().slug.split('/').slice(-1).pop();
return api.get(`/pages/${slug}`).toPromise();
}
我需要做這樣的事情,但它不起作用:
export async function resolvePage(
api: ApiService,
transition: Transition,
stateService: StateService
) {
const slug = transition
.params()
.slug.split("/")
.slice(-1)
.pop();
return api.get(`/pages/${slug}`).subscribe(
(res: any) => {
return new Promise((resolve, reject) => {
resolve(res);
});
},
() => {
stateService.go("app.404");
}
);
}
我該怎么做?
您可以使用Observable.toPromise()
方法。 見https://www.learnrxjs.io/operators/utility/topromise.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.