此问题在此处已有答案:
How do I return the response from an asynchronous call?(41个答案)
昨天就关门了。
我想将数据从 /API/firestore/read.js 传递到 * mainServer.js *。
它确实有文档,可以打印,但不返回数据。
文件 mainServer.js
app.get("/api/profile", async (req, res) => {
const uid = req.user.uid;
const userReader = new usersReader(uid);
const data = await userReader.readData();
console.log("Data", data); // data is undefined
res.status(200).send(data);
});
字符串
文件 * 读取.js*
const admin = require("../../firebase-config").admin;
class ReadFireDb {
constructor(_uid) {
this.uid = _uid;
}
async readData() {
await admin
.firestore()
.collection("users")
.doc(this.uid)
.get()
.then((snapShot) => {
if (snapShot.exists) {
console.log(snapShot.data()); // here i print data correctly
return snapShot.data(); // here is the problem
} else {
return null;
}
})
.catch((err) => console.log(err));
}
}
module.exports = {
ReadFireDb,
};
型
返回此数据的正确方法是什么?
1条答案
按热度按时间eqzww0vc1#
这就是答案:
只需对文件 read.js 进行一些更改:
字符串