承诺后从Firebase函数返回值

时间:2020-04-06 11:36:21

标签: javascript firebase promise web-development-server

我刚刚开始使用Google Firebase和javascript,我需要获取时间作为新纪元,以便能够在向数据库添加消息时显示时间,但是Date().getTime()/1000返回了客户的时间,进行更改,因此我尝试创建一个将在服务器端返回的firebase函数。

以下是该函数的代码:

exports.getTimeEpoch = functions.https.onCall((data, context) => {
    time = new Date().getTime()/1000
    return time;
});

,这是我尝试从网站加载的index.js文件调用此文件时遇到的问题。当我尝试返回它时,它返回“未定义”,因为承诺到返回时尚未完成。

function getTimeFromFirebase() {
  const getTimeEpoch = firebase.functions().httpsCallable('getTimeEpoch')
  getTimeEpoch().then(result => {
    // This prints AFTER the undefined from the return statement below
    firetime = result.data;
    console.log(firetime);
  })

  return firetime;
}

我尝试将return语句放在.then位内,但仍然返回“未定义”。我还尝试过设置一次触发时间后将布尔值变为false,然后在其上放置while boolean == false仍返回'undefined'

任何帮助将不胜感激,谢谢

0 个答案:

没有答案