Я делаю проект, в котором я использую Redux для управления приложением с помощью промежуточного программного обеспечения.Однако, когда я вызываю функцию ниже из действий, она дает мне,
Possible Unhandled Promise Rejection (id: 0): Error: Cannot read property 'then' of undefined.
Код
1 export const submitEmail=(email)=>{
2 return(dispatch) =>{ // Still did not use dispatch
3 val = getData(email);
4 console.log(val);
5 }
6 };
7
8 const getData = async(email)=>{
9 let usersRef = await firebase.database().ref('Users')
10 usersRef.orderByChild('email').equalTo(email).on("value", (snapshot) => {
11 snapshot.forEach((snap) => {
12 return snap.val();
13 })});
14 }
Поэтому, когда я запускаю функцию submitEmail
, значение val
дает мне обещание, прежде чем получить это предупреждение.
Promise {_40: 0, _65: 0, _55: null, _72: null}
Вопрос
Я хочу дождаться до запроса в базу данных и получить данныев формате JSON.
Примечание
Это происходит потому, что firebase.database().ref('Users')
не возвращает обещание.Но как я могу получить значение var
в line 4
после оценки функции getData
?