如何在JavaScript中返回异步函数的结果

时间:2020-05-15 00:23:03

标签: javascript firebase asynchronous firebase-realtime-database

我正在尝试进行函数调用,我需要从原始函数返回该调用的结果。但是调用是异步的,无法直接返回结果值。我正在尝试返回值_tts,但是它是未定义的。这就是我的尝试。

flattenArray(arr){
    // ...
}

getTotalSales(arr) {
    // ...
}


getTotalEmployeeCommissionOnMonth(employeeID, month) {
    var _tts;
    this.afDB.database.ref(`commissions/${month}/${employeeID}`)
      .once('value').then(snap => {
        var _serviceArray = [];
        snap.forEach(childSnap => {
          _serviceArray.push(childSnap.val());
        });
        _tts = this.getTotalSales(this.flattenArray(_serviceArray));
      });
      return _tts;
  }

How do I return the response from an asynchronous call?我已经看过了,但是我仍然迷路。我不知道我错过了什么。任何见解都将真正有帮助。谢谢。

0 个答案:

没有答案