Redux-Toolkit中出现ConditionError错误代表什么含义?
Redux-Toolkit ConditionError 报错说明
报错原文与翻译
name:"ConditionError" message:"Aborted due to condition callback returning false."
翻译:错误类型为ConditionError,错误信息为「因condition回调函数返回false,本次操作已中止」。
报错含义与触发场景
- 该报错是Redux-Toolkit中
createAsyncThunkAPI的专属报错,仅当你给createAsyncThunk传入了可选配置项condition回调时才会出现 - 当
condition回调的返回值为false时,Redux-Toolkit会直接终止当前异步thunk的执行流程,不会执行你传入的异步业务逻辑,同时抛出该错误告知调用方操作被中止 - 常见的
condition回调使用场景也就是该报错的触发场景:- 做重复请求拦截:判断到同类型请求已经在pending状态,返回false阻止重复发起请求
- 做前置状态校验:判断当前store中已有符合要求的缓存数据,返回false跳过不必要的请求
- 做权限校验:判断当前用户没有对应操作的执行权限,返回false阻止后续操作
常见处理方案
- 如果该中止行为符合你的预期,只需要在调用thunk的位置通过catch捕获该错误做静默处理即可,不需要额外调整逻辑
- 如果该报错是预期外出现的,检查你编写的
condition回调的逻辑,排查是否有判断条件错误导致意外返回false的情况
内容的提问来源于stack exchange,提问作者Eli
相关产品推荐
相关产品推荐

