怎么定义一个对象中所有方法的接口?
这些方法都是一样的参数和返回值。
类似这种意思,但是编辑器报错了:
interface Api {
(data:object):AxiosPromise<any>
}
const api:Api = {
login(data) {
return ajax('/login', {
method: 'post',
data,
})
},
}
怎么定义一个对象中所有方法的接口?
这些方法都是一样的参数和返回值。
类似这种意思,但是编辑器报错了:
interface Api {
(data:object):AxiosPromise<any>
}
const api:Api = {
login(data) {
return ajax('/login', {
method: 'post',
data,
})
},
}
你漏写了函数名。
interface Api {
login (data: object): AxiosPromise<any>;
}
const api: Api = {
login (data) {
return ajax('/login', {
method: 'post',
data,
})
},
}
用索引签名:
但不建议这么做,因为 Api 下面有哪些 Key 就失去约束了。
如果你提前可以枚举出来有哪些 Key,那么可以:
或者:
最“笨”也不过是: