export const getMaterialListGrades = (params:{numStr:string,version:string})=>{
return request('/api', {
method: 'GET',
params:params
});
}
1
yuhangch 2021-12-07 15:27:12 +08:00
|
2
thefack 2021-12-07 15:30:29 +08:00 1
改成这样的,在方括号中间定义返回值的类型:
export const getMaterialListGrades =function (params:{numStr:string,version:string})[:Promise<any>]{ return request('/api', { method: 'GET', params:params }); } |
3
LancerComet 2021-12-07 15:36:28 +08:00 1
const getMaterialListGrades = (params: {...}): Promise<Something> => request({ ... })
让 request 支持泛型最好 const getMaterialListGrades = () => request<Something>({ ... }) |
4
wunonglin 2021-12-07 15:41:13 +08:00
返回 Promise<any>没错呀。因为你没确定这个 any 里面的东西。
这样就能知道返回的是什么 https://s2.loli.net/2021/12/07/3myPk7VWJMpnlU9.png |
7
wunonglin 2021-12-07 15:43:34 +08:00
不知道你这个 request 是哪来的,如果是 axios 的话,他是支持泛型的,你自己二次包装也需要按我发的图那样把泛型给定义好。实在不行就直接断言,只不过这样体验很烂而已
|
9
wunonglin 2021-12-07 15:48:28 +08:00
可以这么干,不管 request 返回的是什么妖魔鬼怪,统一在 func 返回 Promise<Material>即可,func 里面的就直接断言 Promise<any>或者直接 any ,这不影响 func 返回的类型
https://s2.loli.net/2021/12/07/Ulw4RxIKTGrJ5tM.png |