[英]Angular async OnInit
我對 angular 真的很陌生,想了解如何在 Oninit 上調用異步。 我有一項使用 asyn/await 的服務。 我希望能夠在 OnInit 中使用它。 但是,我無法使用它。 因為在服務調用完成之前,代碼會執行到下一行並引發 ZoneawarePromise 錯誤。
我的服務方法如下所示
public async getProjects():Promise<Observable<any>>{
const querySpec = {query: "SELECT * from c"};
const { resources:items } = await this.container.items.query(querySpec).fetchAll();
return of(items);
}
這就是我試圖在 ngOnInit 中調用它的方式
async ngOnInit(){
(await this.projectData.getProjects()).subscribe(data=>{
//All the other code goes here, basically creating a HTML content
調用服務的正確方法是什么?
你的問題是Promise of Observable
,
public async getProjects():Promise<Array<any>>{
const querySpec = {query: "SELECT * from c"};
const { resources:items } = await this.container.items.query(querySpec).fetchAll();
return items;
}
然后
async ngOnInit(){
const data = await this.projectData.getProjects();
console.log('data',data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.