javascript - 如何通过在redux saga中抛出错误来破坏生成器功能
问题描述
我在 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
推荐阅读
- php - php循环中的“if”
- sql-server - MS SQL 错误:将 varchar 数据类型转换为 datetime 数据类型导致错误
- python - Python-Pandas Dataframe:计数值大于或等于数据框中的值
- python - 将逗号从熊猫中的excel文件转换为点
- python - 使用正则表达式或任何字符串操作在文本中的两个子字符串之间查找字符串
- haskell - IO monad 中的函数组合
- email - 在 gmail url 中发送电子邮件后,是否有任何 url 参数可用于重定向?
- key - 使用枚举动态更改键名
- javascript - 如何将道具传递给 ListHeaderComponent?
- android - 如何修复 Hidapi 未初始化:在资源路径 (.) 中找不到本机库 (com/sun/jna/android-arm/libjnidispatch.so)