2
我試圖爲firebase創建一個雲端函數,根據延遲值移除用戶,並在延遲後插入回數。如何在firebase雲端函數中使用javascript setTimeout函數
exports.delayqueue = functions.database.ref('/queues/{queueid}/members/{memberid}').onWrite(event => {
var members = event.data.ref.parent;
var user = event.data;
var queueid = members.parent;
var userid = event.params.memberid;
var delayfor = user.child('delay').val();
var name = user.child('name').val();
if(delayfor != 0){
members.child(event.params.memberid).remove();
join(userid,queueid,delayfor,name);
return;
}else{
return;
}
});
function join(userid,queueid,delayfor,name){
setTimeout(function(){
var ref = db.ref("queues/queueid/members/userid");
ref.set({
name: name,
timestamp: Date.now(),
delay : 0
});
}, delayfor*1000);
};
但它不起作用有人可以幫忙嗎?
延遲時間預計爲幾分鐘。他們是否有任何解決方案? – Emibrown
您可以定期調用一個cron作業,然後執行應該發生的操作。有關App Engine示例,請參見[本回購](https://github.com/firebase/functions-cron)。 –