2017-10-20 3 views
0

je suit fonction exemple de ce tutoriel: Asynchronous Programming (I Promise!) with Cloud Functions for Firebase - FirecastsFirebase Déploiement Erreur: Échec de la configuration de déclenchement

exports.emailEmployeeReport = functions.database 
.ref('/employees/${eid}/reports/${rid}') 
.onWrite(event => { 
    const eid = event.params.eid; 
    const report = event.data.val().report; 
    const root = event.data.ref.root; 
    const mgr_promise = root.child(`/employees/${eid}/manager`).once('value'); 
    const then_promise = mgr_promise.then(snap => { 
     const mgr_id = snap.val(); 
     const email_promise = root.child(`/employees/${mgr_id}/email`).once('value'); 
     return email_promise; 
    }).catch(reason => { 
     // Handle the error 
     console.log(reason); 
    });; 
    const then_promise2 = then_promise.then(snap => { 
     const email = snap.val(); 
     const emailReportPromise = sendReportEmail(email, report); 
     return emailReportPromise; 
    }).catch(reason => { 
     // Handle the error 
     console.log(reason); 
    }); 
    return then_promise2; 
}); 

var sendReportEmail = function (email, report) { 
    const myFirstPromise = new Promise((resolve, reject) => { 
     // do something asynchronous which eventually calls either: 
     // 
     setTimeout(function() { 
      try { 
       var someValue = "sendReportEmail"; 
       console.log(someValue); 
       // fulfilled 
       resolve(someValue); 
      } 
      catch (ex) { 
       // rejected 
       reject(ex); 
      } 
     }, 2000); 
    }); 
    return myFirstPromise; 
} 

une fois que je lance la commande firebase deploy, finalement, je reçois l'erreur suivante:

functions[emailEmployeeReport]: Deploy Error: Failed to configure trigger providers/google.firebase.database/eventTypes/[email protected] (emailEmployeeReport)

J'ai aussi avoir une méthode simple bonjour-monde et une méthode de déclenchement similaire, et ils déploient bien.

Ai-je oublié quelque chose ici?

Répondre

3

La syntaxe pour les caractères génériques dans la référence de base de données n'a pas "$".

les opérations suivantes:

exports.emailEmployeeReport = functions.database .ref ('/ employés/{eid}/rapports/{} débarrasser')

+0

Il en va de la présentation erronée YouTube? S'il vous plaît voir https://youtu.be/NgZIb6Uwpjc?t=1m34s –

+0

Oui, c'est faux, malheureusement. – laurenzlong

+0

Cela a résolu le problème, merci! –