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