在异步请求时,如果请求出现异常,在effect中的call返回的数据往往会出错,此时我想要就此中断effect的执行,不再继续执行generator,请我我应该如何做才能中断effect的继续执行。
可以在异步请求那里处理出错返回false,然后effect中判断
const data = yield call(xx);
if(data){//执行}
我想要的是在effect外部来中断genneratar,不知道可不可行
用 try {} catch(e) {} 包一下,请求出错 reject Promise 就会抛错,然后这个 effect 自然就终止了。
恩,多谢,我去试试看
@sorrycc @luke93h
用 try {} catch(e) {} 包一下,请求出错 reject Promise 就会抛错,然后这个 effect 自然就终止了。
是指以下写法?
try {
const data = yield call(xx);
} catch(e) {}