zZZ1Ma
zZZ1Ma
  • 发布:2023-12-15 17:49
  • 更新:2023-12-15 17:49
  • 阅读:187

uni.request()返回值自定义泛型类型,如何消除爆红【类型“RequestSuccessCallbackResult”缺少类型“{...}"】?

分类:uni-app

封装requestHook,返回值传入泛型,编辑器爆红:

**官方声明文件源码:**  
// request.d.ts  
interface RequestSuccessCallbackResult {  
    data: string | AnyObject | ArrayBuffer;  
    statusCode: number;  
    header: any;  
    cookies: string[];  
  }  

// commom.d.ts  
interface AnyObject {  
    [key: string]: any; // ***此处爆红:类型“string”的索引签名重复。***  
}  

---------------------------------------------   
**极简代码:**  
// @/hooks/request/index.ts  
interface UniRequestSuccessRespone<T> extends UniApp.RequestSuccessCallbackResult {  
    data : T  
}  

type ListData = {  
    page ?: number  
    limit ?: number  
}  

type ListResult = UniRequestSuccessRespone<{  
    count : number  
    ststus : number  
    productList : any  
    errMsg : string  
}>['data']  

const getProductList = (data ?: ListData) : Promise<ListResult> => {  
    return uni.request({ data, url: 'product/list' })  
        // ***爆红:不能将类型“Promise”分配给类型“Promise”...***  
}

语法有问题还是其它问题?

2023-12-15 17:49 负责人:无 分享
已邀请:

要回复问题请先登录注册