javascript - .then 总是返回一个 promise 对象,如何将结果保存在变量中?
问题描述
你好我没有成功解决这个承诺,你能帮我理解我的错误吗?
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(translations) 时,它总是给我一个承诺对象。
为什么它总是返回一个承诺对象?
解决方案
由于您要返回一个承诺,因此您必须使用它.then
来获得结果
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;
};
translations.then((results) => {
console.log('translations: ', results)
})