2015-11-11 9 views
7

Data la partenza data/ora e la durata, come posso fare un calcolo lato server che determina se un oggetto è "finished", "in progress", o "upcoming"server di calcolo laterale utilizzando Firebase

--Show 
    --duration: "144" 
    --startDate: "2015-11-10" 
    --startTime: "14:00" 
    --status: "?" 

JavaScript lato client per determinare se lo spettacolo è ancora iniziata:

// if negative, then show hasn't started yet 
var time = (-(startdate.getTime() - currentdate.getTime())/1000/60); 

JavaScript lato client per determinare se lo spettacolo ha terminato l'esecuzione ancora:

// if negative, then show has finished 
var timeLeft = channelDuration - timerStartTime; 
+0

Eventuali duplicati di [Come faccio a eseguire il codice lato server in Firebase?] (Http://stackoverflow.com/questions/21653378/how-would-i-run -server-side-code-in-firebase) – Kato

risposta

10

Non è possibile eseguire il proprio codice lato server su Firebase. Vedere:

Ma si può negozio un timestamp sul lato server, che sembra quello che stai cercando di fare:

ref.child('Show/startTimestamp').set(Firebase.ServerValue.TIMESTAMP); 

È possibile quindi ottenere gli spettacoli che non hanno ancora iniziato con:

var shows = ref.child('Shows'); 
ref.orderByChild('startTimeStamp').startAt(Date.now()).on(... 
+3

Hey Frank, Qualche possibilità che queste funzionalità vengano aggiunte in futuro? –

3

Per qualcuno che passa, penso che ora Firebase consente di eseguire questa operazione Cloud Function. In questo caso, è possibile creare la funzione che determina lo status dello stato con un altro parametro quando i dati vengono aggiunti al proprio database.

Si prega di checkout

https://firebase.google.com/docs/functions/

Problemi correlati