繁体   English   中英

如何修复打字稿NodeJ中的eslint错误:“函数中缺少返回类型”

[英]How to fix eslint error in typescript NodeJs: 'Missing return type on function'

我正在开发基于NodeJs,GraphQl并使用Typescript的API。 我的应用使用eslint处理样式问题,但我不明白如何摆脱下一个问题:

Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)

该消息显示在我的VSC编辑器中的以下代码中:

import { GraphQLScalarType, GraphQLError } from 'graphql';
import { Kind } from 'graphql/language';

export default new GraphQLScalarType({
    name: 'Date',
    description: 'Date type',
    parseValue(value) {
        // value comes from the client
        return new Date(value); // sent to resolvers
    },
    serialize(value): Promise<string> {
        // value comes from resolvers
        return value.toISOString(); // sent to the client
    },
    parseLiteral(ast) {
        // ast comes from parsing the query
        // this is where you can validate and transform
        if (ast.kind !== Kind.STRING) {
            throw new GraphQLError(`Query error: Can only parse dates strings, got a: ${ast.kind}`, [ast]);
        }
        if (isNaN(Date.parse(ast.value))) {
            throw new GraphQLError(`Query error: not a valid date`, [ast]);
        }
        return new Date(ast.value);
    },
});

上面的代码是GraphQL的日期的自定义标量,以正确的方式显示日期。

我能够摆脱这一行的消息错误:

serialize(value): Promise<string> {...}

我刚刚添加了Promise<string>

我想获得有关上述代码正确方法的帮助。

大概的问题是您缺少parseValue()parseLiteral()的返回类型。 因此,您应该能够做到:

parseValue(value): Date {

...

parseLiteral(ast): Date {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM