applyResolversEnhanceMap未将自定义装饰器添加到解析器中?
创始人
2024-09-11 06:30:58
0

在使用applyResolversEnhanceMap时,需要确保装饰器函数在类型定义文件中被声明,并且其名称与resolver中的字段名称相同。

例如,假设我们有一个自定义装饰器函数myDecorator:

import { SchemaDirectiveVisitor } from 'graphql-tools';

export class MyDecoratorDirective extends SchemaDirectiveVisitor {
  public visitFieldDefinition(field) {
    const { resolve = defaultFieldResolver } = field;
    field.resolve = async (...args) => {
      const result = await resolve.apply(this, args);
      // some logic here
      return result;
    };
  }
}

我们在类型定义文件中使用该装饰器:

directive @myDecorator on FIELD_DEFINITION

type Query {
  hello: String @myDecorator
}

我们将该装饰器与resolver函数一起传递给applyResolversEnhanceMap:

import { applyResolversEnhanceMap } from 'type-graphql';
import { MyDecoratorDirective } from './myDecorator';

const resolvers = {
  Query: {
    hello: async (): Promise => {
      return 'world';
    },
  },
};

const resolversEnhanceMap = {
  Query: {
    hello: [MyDecoratorDirective],
  },
};

applyResolversEnhanceMap(resolvers, resolversEnhanceMap);

现在运行服务器,并查询hello字段,我们将会看到装饰器生效并执行myDecorator函数。

相关内容

热门资讯

透视透视!德普之星怎么作弊,w... 透视透视!德普之星怎么作弊,wpk辅助购买,研究成果(有挂教程)1、起透看视 德普之星怎么作弊透明视...
透视苹果版!aapoker辅助... 透视苹果版!aapoker辅助器怎么用,德州透视脚本,揭秘教程(原来真的有挂)1、让任何用户在无需A...
透视app!德普之星辅助功能如... 透视app!德普之星辅助功能如何打开,aapoker怎么选牌,切实教程(确实是有挂)是由北京得德普之...
透视游戏!aapoker透视插... 透视游戏!aapoker透视插件,德普之星透视辅助ios,科技揭秘(有挂辅助挂)您好,德普之星透视辅...
透视软件!aapoker有脚本... 透视软件!aapoker有脚本吗,hhpoker透视工具,解说技巧(确实有挂)1、让任何用户在无需A...
透视透视挂!wepoker透视... 透视透视挂!wepoker透视脚本苹果版,德普之星透视辅助,揭秘关于(有挂详情),您好,wepoke...
透视ai代打!德普之星辅助器,... 透视ai代打!德普之星辅助器,wejoker免费脚本,必备教程(从来存在有挂);(需添加指定Q群10...
透视代打!wepoker底牌透... 透视代打!wepoker底牌透视脚本,wepoker底牌透视脚本怎样安装,分享认知(有挂规律)1、实...
透视挂透视!wpk透视表,we... 透视挂透视!wpk透视表,wepoker公共底牌,曝光教程(原先有挂)科技教程也叫必备教程,这是一款...
透视透视挂!wpk辅助购买,w... 透视透视挂!wpk辅助购买,wpk有没有脚本,科普分享(有挂方法)是一款可以让一直输的玩家,快速成为...