【发布时间】:2020-03-28 06:28:39
【问题描述】:
我想在我的项目中使用 redux-saga,但遇到了一点问题。 这是一个 saga worker 函数,应该使用 firebase 身份验证服务登录用户。
function* emailSignIn({payload}) {
try {
const user = yield auth.signInWithEmailAndPassword(payload.email, payload.password)
yield put(signInSuccess(user)) //this line does not executed
} catch (e) {
debugger
yield put(signInFail(e))
}
}
问题是这行之后的代码没有执行 并且控制台中没有错误。我只是不明白发生了什么。
const user = yield auth.signInWithEmailAndPassword(payload.email, payload.password)
function auth.signInWithEmailAndPassword() 是返回的承诺。当 promise 被解决或拒绝时,yield 应该像 await 一样等待,但什么都没有发生。
请给我任何有关此类问题的建议。
【问题讨论】:
标签: redux-saga