uni-app @dcloudio/types中cloud.d.ts文件缺少返回类型导致报错

uni-app @dcloudio/types中cloud.d.ts文件缺少返回类型导致报错

产品分类:其他/5+ SDK

操作步骤:

如图

预期结果:

如图

实际结果:

如图

bug描述:

@dcloudio/types中缺少必要的返回类型,导致eslint检查报错


ERROR in D:/project/ccqlk-dx/ccqlk-dx-web-vue-app/node_modules/[@dcloudio](/user/dcloudio)/types/uni-app/cloud.d.ts(2576,9):

2576:9 'addInterceptor', which lacks return-type annotation, implicitly has an 'any' return type.
2574 | 
2575 |         on(eventName: string, callbaack: (result: any) => void): any;
2576 |         addInterceptor(apiName: string, interceptor: (result: any) => void);
2577 |         removeInterceptor(apiName: string, interceptor?: (result: any) => void);
2578 |     }
2579 | 

2576 |         addInterceptor(apiName: string, interceptor: (result: any) => void);
|         ^
2577:9 'removeInterceptor', which lacks return-type annotation, implicitly has an 'any' return type.
2575 |         on(eventName: string, callbaack: (result: any) => void): any;
2576 |         addInterceptor(apiName: string, interceptor: (result: any) => void);
2577 |         removeInterceptor(apiName: string, interceptor?: (result: any) => void);
|         ^
2578 |     }
2579 | 

Version: typescript 4.3.5
Time: 7689ms


更多关于uni-app @dcloudio/types中cloud.d.ts文件缺少返回类型导致报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

居然没人理

更多关于uni-app @dcloudio/types中cloud.d.ts文件缺少返回类型导致报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


官方有人修复下吗?

那么久了,都好几个版本了,就是没人来修改下呀???

没人改,这个玩意儿还用不用啊?

这是一个类型定义文件的问题。在 @dcloudio/types 包的 cloud.d.ts 文件中,addInterceptorremoveInterceptor 方法确实缺少明确的返回类型声明。

根据错误信息,这两个方法目前定义为:

addInterceptor(apiName: string, interceptor: (result: any) => void);
removeInterceptor(apiName: string, interceptor?: (result: any) => void);

缺少返回类型会导致 TypeScript 编译器将其推断为 any 类型,这在严格类型检查模式下会触发错误。

从 uni-app 云函数的实际使用场景来看,这两个方法通常返回 void(无返回值)。建议将类型定义修改为:

addInterceptor(apiName: string, interceptor: (result: any) => void): void;
removeInterceptor(apiName: string, interceptor?: (result: any) => void): void;
回到顶部