Eslint:预期“ this”将由类方法使用

时间:2019-12-20 17:48:09

标签: typescript axios eslint

我对使用eslint有疑问。我已经读过这个问题Expected 'this' to be used by class method,但找不到更好的解决方案。

我的vue应用程序具有api服务类。 api类是通过api接口实现的。

JobService.ts

import Job from '../model/Job';
export default interface JobService {
  getAllJobs(): Promise<Job[]>;
  getJobs(id: any): Promise<Job>;
  createJob(job: any): Promise<Job>;
  updateJob(job: any): Promise<Job>;
  deleteJob(id: any): Promise<Job>;
}

AxiosJobService.ts

import axios from 'axios';
import ApiService from './ApiService';
import Job from '../model/Job';

export default class AxiosJobService implements ApiService {
  getJobs(id: any): Promise<Job> {
    throw new Error('Method not implemented.');
  }
  createJob(job: any): Promise<Job> {
    throw new Error('Method not implemented.');
  }
  updateJob(job: any): Promise<Job> {
    throw new Error('Method not implemented.');
  }
  deleteJob(id: any): Promise<Job> {
    throw new Error('Method not implemented.');
  }
  async getAllJobs(): Promise<Job[]> {
    return axios.get('/api/jobs').then(res => res.data.data);
  }
}

我收到以下错误

error: Expected 'this' to be used by class method 'getJobs'

在这种情况下,使所有方法变为静态将有代码异味。但是为每个功能使用箭头功能将避免我执行其他操作(例如,修剪参数)。对于这种情况有更好的建议吗?

0 个答案:

没有答案