React中yield call调用Firebase取token异步函数返回undefined问题
问题解决方法
- 根因:你定义的
getUserIDAsync异步函数没有显式返回值,所有没有手动写return的函数执行后默认返回undefined,你之前在函数内部打印能看到token是直接读取的函数内部变量,和函数的返回值无关。 - 修复步骤:只需要给
getUserIDAsync添加return语句,把你需要的token结果返回即可,修改后的代码如下:
async function getUserIDAsync() { const idTokenResult = await firebase.auth().currentUser.getIdTokenResult(); // 新增return语句返回结果 return idTokenResult // 如果你只需要token字符串,也可以直接返回对应的字段,比如 return idTokenResult.token }
修改后重新运行,yield call(getUserIDAsync)就能正常拿到返回的token值了。
内容的提问来源于stack exchange,提问作者Zenixo
相关产品推荐
相关产品推荐

