类型不匹配报错:Promise<Modules>无法赋值给回调参数类型
问题解决
你的报错根源在于传递给fetchPaginated的第一个参数是**getModules({})执行后返回的Promise对象**,而函数签名要求的是一个能接收参数并返回Promise的回调函数。
fetchPaginated的设计是为了分页请求,它需要多次调用传入的回调函数,每次传入不同的分页参数(比如page、pageSize),所以必须传入函数本身,而不是函数执行后的结果。
修正后的调用方式
将直接调用getModules({})改为传递一个箭头函数,让fetchPaginated能在需要时调用它并传入分页参数:
fetchPaginated<Modules>( (params) => getModules({ ...params }), // 传递接收分页参数的回调函数 {} )
补充说明
如果getModules需要固定的初始参数,你可以把它们和分页参数合并后传入:
fetchPaginated<Modules>( (params) => getModules({ someFixedParam: 'value', ...params }), { pageSize: 10 } // 自定义分页配置 )
这样fetchPaginated就能在每次分页请求时,把当前的page、pageSize等参数传递给getModules,从而实现自动分页拉取数据。
内容的提问来源于stack exchange,提问作者edix
相关产品推荐
相关产品推荐

