Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular TypeScript在调用后从承诺获取项_Angular - Fatal编程技术网

Angular TypeScript在调用后从承诺获取项

Angular TypeScript在调用后从承诺获取项,angular,Angular,我试图解决一个问题,但不知道如何解决。 我有一个服务,它提供了一种从Contentful获取页面的方法,如下所示: async getPages(): Promise<Page[]> { const response = await this.cdaClient.getEntries({ content_type: "page", include: 3 }); return response.items.map(this.createPage); } p

我试图解决一个问题,但不知道如何解决。 我有一个服务,它提供了一种从Contentful获取页面的方法,如下所示:

async getPages(): Promise<Page[]> {
  const response = await this.cdaClient.getEntries({
    content_type: "page",
    include: 3
  });
  return response.items.map(this.createPage);
}
private pages: Page[];

getPage(slug: string) {
  return this.pages.find(page => page.slug === slug)
}

async getPages(): Promise<void> {
  const response = await this.cdaClient.getEntries({
    content_type: "page",
    include: 3
  });
  this.pages = response.items.map(this.createPage);
}
我想做的是,当调用它时,将其存储在
contentfulService
上,以便稍后查询它。大概是这样的:

async getPages(): Promise<Page[]> {
  const response = await this.cdaClient.getEntries({
    content_type: "page",
    include: 3
  });
  return response.items.map(this.createPage);
}
private pages: Page[];

getPage(slug: string) {
  return this.pages.find(page => page.slug === slug)
}

async getPages(): Promise<void> {
  const response = await this.cdaClient.getEntries({
    content_type: "page",
    include: 3
  });
  this.pages = response.items.map(this.createPage);
}

有人知道我怎么做吗?

想知道你为什么想要一个
承诺,但答案是:

getPage(slug: string) {
  return Promise.resolve(this.pages.find(page => page.slug === slug));
}

如果不是异步运行,为什么
getPage
需要返回承诺?