como usar a função setTimeout do javascript nas funções de nuvem do firebase

Estou tentando criar uma função de nuvem para firebase que remova um usuário dependendo do valor do atraso e insira novamente o número de atraso.

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);
   };

Mas não está funcionando. Alguém pode ajudar?

questionAnswers(1)

yourAnswerToTheQuestion