- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想返回“用户”对象。
收到错误信息:
Variable 'user' is used before being assigned.ts(2454)
我尝试使用 async/await 但我无法将 await 分配给代码末尾的“return user”或 user= await snapshot.val()
因为它位于 onValue()
作用域。
getLoggedInUser(id: string): User {
const db = getDatabase();
var user: User;
onValue(ref(db, '/users/' + id), (snapshot) => {
user = snapshot.val();
// ...
}, {
onlyOnce: true
});
return user;
}
最佳答案
当您调用 onValue
时,您会从数据库中的该路径获取当前值,然后还会获取对该值的所有更新。由于您的回调可能会被多次调用,因此无法返回单个值。
如果您只想获取一次值并返回它,您需要使用 get
而不是 onValue
。那么你也可以使用async
/await
。
async getLoggedInUser(id: string): Promise<User> {
const db = getDatabase();
var user: User;
const snapshot = await get(ref(db, '/users/' + id))
user = snapshot.val();
return user;
}
关于javascript - Angular:从 firebase 实时数据库中的 onValue() 返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71244451/
$('#ddEvents').asEventStream('change').onValue(function (f) { alert('hello world'); }); ddEvents 是一个
为什么这样构造 $("#clickme").asEventStream('click').onValue(callback1).onValue(callback2); 不行,但是这个 var prom
我正在尝试使用 Jest 模拟 Firebase 9.0.0 onValue() 函数。主组件使用 onValue() 函数读取特征并呈现结果。 Acerca.js: import React, {
我想返回“用户”对象。 收到错误信息: Variable 'user' is used before being assigned.ts(2454) 我尝试使用 async/await 但我无法将 a
我想返回“用户”对象。 收到错误信息: Variable 'user' is used before being assigned.ts(2454) 我尝试使用 async/await 但我无法将 a
我有 2 个 Bacon.jQuery Models(但问题可以用任何 Bacon Observable 来说明)。 我有 3 个组合框:foo、bar 和 quux。 bar 依赖于 foo,quu
我在尝试使用自动生成的 Web 服务客户端时遇到了一个有趣的场景。这意味着我不能修改其他类的构造函数。它有 2 个构造函数,如下所示:- public FooServicePortTypeClient
onValue “将给定的处理函数订阅到事件流。将为流中的每个新值调用函数。[它]是将副作用分配给流的最简单方法。 " 另一方面,doAction“返回一个流/属性,其中函数 f 在分派(dispat
我对具有父字段的文本字段进行了一些 acrofield 操作。到目前为止,这有效,但表单还包含一些复选框,不会更改。但是当我将操作后的 pdf 存储到磁盘并检查复选框的值时,我可以看到 cb_a.0
我是一名优秀的程序员,十分优秀!