CancelToken, Cancel 类型不正确
来源:10-3 -3 取消功能的设计和实现 - Cancel 类的实现及 axios 的扩展+ 额外逻辑实现

paopaomo
2020-08-03
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;
}
}
}
麻烦老师啦
写回答
2回答
-
ustbhuangyi
2020-08-05
拼写错误,低级错误喔012020-08-06 -
ustbhuangyi
2020-08-04
你把代码传到 GitHub 上,我抽空帮你看看
012020-08-04
相似问题