1

I have a nested async function inside a non-async function. I want the returned value of the async function to be the returned value of the non-async function, so I'd like to wait for the async function to finish before the non-async function returning its value. But currently, I could not come up with any good way to do it. The code snippet is below:

function ValidateAccessCode(phoneNumber, accessCode) { 
  var message=null 
  
 firebase.database().ref().child("phoneNumber").orderByChild('recipient').equalTo(phoneNumber).on("value", function(data) {
    var list_phones=data.val()
    var keys=Object.keys(list_phones)
    phone_code=list_phones[keys[0]].access_code
    console.log("phone code is " + phone_code)
    if (phone_code == accessCode) { 
      message= {message: "Your number has been successfully verified!"} 
    }
    else { 
      message= {message: "Your access code is not correct. Please try again!"} 
    }
  })
  return message
}

Thank you all for your help!

0 Answers0