我寫了這個函數來從API獲取和緩存一些數據。從Promise預期函數返回對象
export class MyService {
static items: Array<Post> = null;
async getItems(): Promise<Array<Post>> {
if (MyService.items) {
return MyService.items;
}
else {
return this.doRequest();
}
}
private async doRequest: Promise<Array<Post>> {
// get items from API.
}
}
據我所知,我必須從getItems
功能,像返回一個承諾:return Promise.resolve(MyService.items)
,爲什麼(以及如何)以上功能仍能正常工作 - 我從無極預期函數返回一個對象?