Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 。然后始终返回承诺对象,如何将结果保存在变量中?_Javascript_Firebase_Firebase Realtime Database_Promise - Fatal编程技术网

Javascript 。然后始终返回承诺对象,如何将结果保存在变量中?

Javascript 。然后始终返回承诺对象,如何将结果保存在变量中?,javascript,firebase,firebase-realtime-database,promise,Javascript,Firebase,Firebase Realtime Database,Promise,你好,我没有成功地解决这个承诺,你能帮我理解我的错误吗 export const onReadTranslationData = () => { const translations = database() .ref('/languages') .once('value') .then(snapshot => { const languages = { en: snapshot.child('en').val(), tr: snapshot.

你好,我没有成功地解决这个承诺,你能帮我理解我的错误吗

export const onReadTranslationData = () => {
  const translations = database()
    .ref('/languages')
    .once('value')
    .then(snapshot => {
      const languages = { en: snapshot.child('en').val(), tr: snapshot.child('tr').val() };
    });
  return translations;
};
当我尝试console.log(翻译)时,它总是给我一个promise对象


为什么它总是返回承诺对象

由于您要返回一个承诺,因此必须使用
。然后使用
来获得结果

export const onReadTranslationData=()=>{
const translations=数据库()
.ref(“/语言”)
.once('值')
。然后(快照=>{
常量语言={en:snapshot.child('en').val(),tr:snapshot.child('tr').val();
});
返回翻译;
};
翻译。然后((结果)=>{
console.log('translations:',results)

})
因为承诺将分配给翻译。你想打印语言吗?