【发布时间】:2020-02-05 03:34:49
【问题描述】:
我正在尝试向从包含用户信息的 firebase 数据库获得的临时 JSON 添加一个值,这样我就可以将用户名添加到调用的帖子值中,而无需实际将用户名放入帖子 JSON 中以保存数据。我遇到了一个问题,即 Object.assign 方法在 JSON 中创建了一个新字段,但该字段中没有写入任何内容。我将如何解决这个问题? 我的代码如下:
getPosts = (limit = 20) => {
var list = [];
firebase.firestore()
.collection("posts").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
var userName = "";
firebase.firestore().collection("users").where('email', '==', doc.data().email).get().then((querySnapshot) =>
querySnapshot.forEach((doc2) => {
userName = doc2.data().name;
}
)
);
var tempList = doc.data();
console.log(tempList);
Object.assign(tempList, {
"userName": userName
});
console.log(tempList);
list.push(tempList);
});
list.sort(function(a, b) {
var c = b.timestamp;
var d = a.timestamp;
return c - d;
})
this.setState({
data: list,
fullData: list
});
});
return new Promise((resolve, reject) => {
this.func;
resolve(_.take(this.state.fullData, limit));
});
};
这段代码是 react native 中的一个函数。它基本上是在 javascript 上工作的,所以所有的语法都是一样的。任何帮助将不胜感激。提前谢谢!
【问题讨论】:
-
它看起来也不适用于 JS。您确定发布了相同的代码吗?
-
tempList 的 console.log 显示什么?是对象还是数组?
-
我确信这段代码会打印出用户数据的 Jason,但是在对象调用之后,只显示键,没有值,而是一个空字符串
-
console.log 显示一个对象
标签: javascript json firebase react-native