Javascript 对象显示为空,但在react native中具有属性

Javascript 对象显示为空,但在react native中具有属性,javascript,react-native,Javascript,React Native,我有一个奇怪的例子,我从Firebase得到的响应显示在一个对象中,但是当我想提取密钥时,它们是0 比如说 const answersFromDB = FirebaseHelp.getAnsweredQuestions(user.uid); console.log(answersFromDB); // returns a {} 当我展开对象时,我看到想要的属性是数组 console.log(Object.keys(answersFromDB)); // returns empty array

我有一个奇怪的例子,我从Firebase得到的响应显示在一个对象中,但是当我想提取密钥时,它们是0

比如说

const answersFromDB = FirebaseHelp.getAnsweredQuestions(user.uid);
console.log(answersFromDB); // returns a {}
当我展开对象时,我看到想要的属性是数组

console.log(Object.keys(answersFromDB)); // returns empty array
但是,在我使用钩子将其设置为状态并从该状态访问它之后,数据就是它应该的样子

const [answers, setAnswers] = useState([]);

const answersFromDB = FirebaseHelp.getAnsweredQuestions(user.uid);

setAnswers(answersFromDB)

console.log(Object.keys(answers)); // returns a ['key1', 'key2']

有没有人有过同样的问题,或者知道它为什么会这样做?

经过一些调查,我发现我在chrome控制台中有一个小的“I”图标,用于“刚才评估了下面的值”。因此,访问数据时可能会出现计时问题

解决方案是创建一个异步函数并等待完整的响应