Hi, 老师,编辑器提示axios.CancelToken 和 axios.Cancel 类型不正确,不知道为什么,麻烦老师帮忙解答下
编辑器提示
对应的接口声明
typescript 版本号
总觉得是把 Canel 类当成接口书写的问题,但是看了文档,类是可以当做接口使用的,所以,就不大明白这个报错是什么了
import { Canceler, CancelExecutor, CancelTokenSource } from '../types';
import Cancel from './Cancel';
interface ResolvePromise {
(reason?: Cancel): void;
}
export default class CancelToken {
promise: Promise<Cancel>;
reason?: Cancel;
constructor(executor: CancelExecutor) {
let resolvePromise: ResolvePromise;
this.promise = new Promise<Cancel>(resolve => {
resolvePromise = resolve;
});
executor(message => {
if (this.reason) {
return;
}
this.reason = new Cancel(message);
resolvePromise(this.reason);
});
}
static source(): CancelTokenSource {
let cancel!: Canceler;
const token = new CancelToken(c => {
cancel = c;
});
return {
token,
cancel
};
}
throwIfRequested() {
if (this.reason) {
throw this.reason;
}
}
}
麻烦老师啦