如何告诉 JS 在返回外部函数的值之前等待嵌套的异步函数完成?

问题描述

我在一个非异步函数中嵌套了一个异步函数。我希望异步函数的返回值是非异步函数的返回值,所以我想在非异步函数返回其值之前等待异步函数完成。但是目前,我想不出任何好的方法来做到这一点。代码片段如下:

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
}

谢谢大家的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)