我发现它没有触发,因为我必须在之后onStop()
移动我的发布查询(因为查询在 a 后面)。onStop()
return
但是,由于我的问题可能会引起某些人的兴趣,因此以下是答案:
如果用户离开它所附加的路线,是否会触发发布 onStop()?
是的。无论用户转到网站的另一条路线、关闭浏览器选项卡还是电池电量耗尽,这都是正确的。
是否有必要使用 Cursor.observe() 或 Cursor.observeChanges() 来使用/触发 onStop() 回调?
不
为什么当我关闭浏览器或选项卡,或从当前用户帐户注销时未触发 onStop() 回调?
事实是,在所有这些情况下都会触发。onStop()
当用户没有填写相关表格并离开页面而不提交时,我用来处理上传文件删除的基本出版物如下所示:
Meteor.publish("files", function(sessionId) {
var self = this;
// Here I clean all the files I need to remove because the user has
// not submitted the current form.
self.onStop(function () {
console.log (sessionId + " is cleaning...");
cleanFiles(sessionId)
});
// I look for files related to the current upload session only
if(Users.isInRoles(this.userId, ["user"])) {
return Files.find({"session_id":sessionId, "owner":this.userId}, {});
}
//and I make my publication available in case the if failed
return self.ready();
});