没有使用implements去实现接口,代码中所有接口和类都没有这样去写,为什么?
来源:8-3 -3 拦截器的设计与实现 - 链式调用实现

weixin_慕丝7060995
2020-08-08
export interface AxiosInterceptorManager {
use(resolved: ResolvedFn, rejected?: RejectedFn): number
eject(id: number): void
}
export default class InterceptorManager {
private interceptors: Array<Interceptor | null>
constructor() {
this.interceptors = []
}
use(resolved: ResolvedFn, rejected?: RejectedFn): number {
this.interceptors.push({
resolved,
rejected
})
return this.interceptors.length - 1
}
forEach(fn: (interceptor: Interceptor) => void): void {
this.interceptors.forEach(interceptor => {
if (interceptor !== null) {
fn(interceptor)
}
})
}
eject(id: number): void {
if (this.interceptors[id]) {
this.interceptors[id] = null
}
}
}
1回答
-
ustbhuangyi
2020-08-09
类的实现并不一定需要使用 implements 关键字去实现某个接口,只需要保证它最终的实现和接口一致即可。
022020-09-04
相似问题