interface FetchInstance {
(config: {}): {}
(url: string, config: {}): {}
}
const fetch1: FetchInstance = (config: {}) => ({}) // Ok
const fetch2: FetchInstance = (url: string, config: {}) => ({}) // Error
请问上述中的FetchInstance代表什么意思?我看这形式想当然的认为是函数重载,结果上面2处赋值出现问题。
如果要使得上面2处赋值同时成立,在不使用联合类型的情况下应该怎么定义FetchInstance?
既然你知道 FetchInstance 代表的是一个具有重载的函数接口,那么实现显然也必须是重载的函数