(узел: 18560) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'typeFn' из неопределенного - PullRequest
0 голосов
/ 03 мая 2020

Я получаю эту ошибку, когда пытаюсь разрешить поле (блоки) с помощью декоратора @ResolveField().

page.resolver.ts

import {
  Resolver,
  Query,
  Mutation,
  Args,
  ResolveField,
  Parent,
} from '@nestjs/graphql';
import { PageService } from './page.service';
import { PageType } from './type/page.type';
import { CreatePageInput } from './input/create-page.input';
import { BlockService } from '../block/block.service';
import { Page } from './page.interface';

@Resolver('Page')
export class PageResolver {
  constructor(
    private readonly pageService: PageService,
    private readonly blockService: BlockService,
  ) {}

  @Query(() => [PageType])
  pages() {
    return this.pageService.getAllPages();
  }

  @Query(() => [PageType])
  async page(@Args('id') id: string) {
    return this.pageService.getPage(id);
  }

  @Mutation(() => PageType)
  createPage(@Args('createPageInput') createPageInput: CreatePageInput) {
    return this.pageService.createPage(createPageInput);
  }

  @ResolveField()
  blocks(@Parent() page: Page) {
    return this.blockService.getManyBlocks(page.blockIds);
  }
}

page.interface.ts

import { Document } from 'mongoose';

export interface Page extends Document {
  readonly id: string;
  readonly name: string;
  readonly createdAt: Date;
  readonly updatedAt: Date;
  readonly createdBy: string;
  readonly updatedBy: string;
  readonly blockIds: string[];
}

1 Ответ

0 голосов
/ 04 мая 2020

Решается после использования функции () => PageType в @Resolver() декораторе.

@Resolver(() => PageType)
...