所以我开始了一个新的nest.js项目,但我仍然坚持给这个错误:
类型'任务[]'缺少类型'任务'的以下属性:ID,标题,描述,状态(2739)
我有一个模特。ts
export interface Task {
id: string;
title: string;
description: string;
status: TaskStatus
}
export enum TaskStatus {
OPEN = 'OPEN',
IN_PROGRESS = 'IN_PROGRESS',
DONE = 'DONE',
}
和同一文件夹上的服务:
import { Injectable } from '@nestjs/common';
import { Task, TaskStatus } from './task.model';
import { v1 as uuidv1 } from 'uuid';
@Injectable()
export class TasksService {
private tasks: Task[] = [];
public getAllTasks(): Task {
return this.tasks; <- here
}
public createTask(title: string, description: string): Task {
const task: Task = {
id: uuidv1(),
title,
description,
status: TaskStatus.OPEN
};
this.tasks.push(task);
return task;
}
}
方法 getAllTasks 返回错误
这是我的护送文件:
module.exports = {
'env': {
'es6': true,
'node': true
},
'extends': [
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended'
],
'globals': {
'Atomics': 'readonly',
'SharedArrayBuffer': 'readonly'
},
'parser': '@typescript-eslint/parser',
'parserOptions': {
'ecmaVersion': 11,
'sourceType': 'module'
},
'plugins': [
'@typescript-eslint'
],
'rules': {
semi: [2, 'always'],
indent: ['error', 4],
"space-before-function-paren": 0,
"no-unused-vars": 0,
quotes: [2, "single", { "avoidEscape": true }]
}
};
我看不到这段代码有任何错误,或者如果我应该在自己的护卫舰上设置新的配置以避免这种情况。
答案 0 :(得分:3)
私人任务:Task [] = [];
public getAllTasks():任务{
返回this.tasks; <-在这里
}
您将在一个预期返回Task[]
的函数中返回Task
。即更改返回类型以匹配getAllTask(): Task[] {
。