Javascript 如果firebaseRef设置为新值,是否需要调用.off()?

Javascript 如果firebaseRef设置为新值,是否需要调用.off()?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,如果我这样做: var firebaseRef = new Firebase(url); firebaseRef.on("value", function(dataSnapshot) { ... }); 然后我重置firebaseRef,如下所示: firebaseRef = new Firebase(newUrl); 在将firebaseRef设置为新Firebase(newUrl)之前,是否会自动删除先前的.on(…)侦听器,或者我是否应该调用.off() var ref = new F

如果我这样做:

var firebaseRef = new Firebase(url);
firebaseRef.on("value", function(dataSnapshot) { ... });
然后我重置firebaseRef,如下所示:

firebaseRef = new Firebase(newUrl);
在将firebaseRef设置为新Firebase(newUrl)之前,是否会自动删除先前的
.on(…)
侦听器,或者我是否应该调用
.off()

var ref = new Firebase('https://stackoverflow.firebaseio.com/30541902');
ref.on("value", function(snapshot) { 
  console.log(snapshot.val());
});
ref.set('1');
//ref.off();
ref = new Firebase('https://stackoverflow.firebaseio.com/30541902');
ref.set('2');
输出:

1
2
因此,在将新值分配给
ref
之前,需要先将
关闭。幸运的是,这与取消注释注释行一样简单

以下是jsbin: