我在redux saga 中有这个功能
function* CheckUserIsAuth() {
try {
const user = yield call(getCurrentUser);
console.log(user);
if (!user) throw new Error(null);
const data = yield call(createUserDocument, user);
const dataSnapshot = yield data.get();
yield put(emailSignInSucc({ id: dataSnapshot.id, ...dataSnapshot.data() }));
} catch (error) {
yield put(emailSignInError(error.message));
}
}
如果用户是null
,我想打破尝试捕获错误
我试图使用上面的代码抛出错误,但它仍然转到emailSignInSucc
,并将null
作为字符串提供给我。
这意味着它完成了功能,不会破坏
检查user
及其返回的内容。也许user
是一个空对象,并且没有触发错误。
如果调用throw new Error ()
,则代码将继续在catch
中运行