【发布时间】:2018-06-24 05:39:19
【问题描述】:
我在 JS 中有以下函数,它应该读取 firebase 数据库中的所有条目。
async function getMarket() {
let marketRef = db.ref('/market');
let snapshot = await marketRef.once('value');
return snapshot.val();
}
由于某种原因,当我调用此函数时,它返回Promise { <state>: "pending" }。为什么会这样?
【问题讨论】:
-
异步函数必须返回
Promise,因为它们不能立即返回具体结果——这是异步计算的核心前提。 -
听起来你的快照的价值是一个承诺,你也必须等待
-
@SterlingArcher
async函数总是返回 Promise,不管它们返回了什么。
标签: javascript firebase-realtime-database async-await