返回值总是未定义
Posted
技术标签:
【中文标题】返回值总是未定义【英文标题】:Returned Value always coming as undefined 【发布时间】:2022-01-14 14:34:21 【问题描述】:这是我遇到问题的两种方法。我正在尝试从 FireStore DB 中读取一个值并将其返回给另一个方法,但是即使我能够在第二种方法中按预期打印该值,我总是将未定义为我的返回值。我也尝试增加超时。我可能无法使用 useState(),因为我在 if 条件下从不同的方法调用 updateScore 方法,因此显示反应挂钩规则错误。
export function updateScore(username, Score, registerCallBack)
var s = getScore(username)
setTimeout(() =>
console.log("++++++++")
console.log(s) // Always undefined
console.log("++++++++")
firebase.firestore()
.collection('Users')
.doc(username)
.update(
score: Score + s
)
, 10000);
export function getScore(username)
console.log(username)
firebase.firestore()
.collection('Users')
.doc(username)
.get().then((doc) =>
console.log(doc.data().score) // PRINTING as Expected
var score = doc.data().score;
setTimeout(() =>
console.log("-------")
console.log(score) // PRINTING as Expected
console.log("-------")
return score;
, 50);
)
【问题讨论】:
【参考方案1】:我认为您应该将 firestore 函数分配给一个变量并返回该变量。
【讨论】:
以上是关于返回值总是未定义的主要内容,如果未能解决你的问题,请参考以下文章