使用Firebase从前端js调用export node.js函数

时间:2018-07-14 21:43:13

标签: javascript node.js firebase google-cloud-functions

我正在尝试在Firebase上使用js发送电子邮件,并且正在努力通过Firebase调用后端功能。

这是我想调用的简单函数(在index.js内部)

 const functions = require('firebase-functions');

 exports.test = functions.https.onCall((data, context) => {
   return 1;
 });

我希望能够通过我的脚本或外部js调用它,

  function sendEmail()
  {
    var testFunction = firebase.functions().httpsCallable('test');
    alert(testFunction());
  }

^这在index.html文件的脚本标签内

我已尝试关注https://firebase.google.com/docs/functions/callable 但很难理解

我还尝试查看此电子邮件发件人的示例如何工作以及如何使用该示例,但是所有功能都是由用户登录或删除其帐户时触发的:https://github.com/firebase/functions-samples/tree/master/quickstarts/email-users#functions-code

1 个答案:

答案 0 :(得分:0)

按照链接Set up your local environment中给出的步骤进行操作。然后添加以下功能。

function sendEmail() {
   return new Promise((resolve,reject)=>{
        firebase.functions().httpsCallable('test')().then(function(result) {
            // Handle result of your cloud function.
            resolve(data)
        }).catch(function(err){
            //Handle error
            reject(err)
        });
   })
}

现在您可以在任何地方调用此函数。您的错误是您将sendEmail()作为一个同步函数调用,但它是一个异步函数。

希望有帮助!