小编Ple*_*Out的帖子

如何撤消"Meteor.publish",并撤消"new Meteor.Collection"

我看到,在发布时,collection._connection.publish_handlers填充了collection._connection.method_handlers,其他区域也是如此.

我想基本上通过删除对该集合的引用来清理内存,并完全放弃它.

基本上,应用程序的每个用户都有该用户的集合列表.有一个发布函数,用户可以获取它们的集合列表:

Meteor.publish('users_collections', function() {
  var self = this;
  var handle = UsersCollections.find({ownerId: self.userId}).observeChanges({
    added: function(id, collectionInfo) {
      UsersCollectionManager.addUsersCollection(self.userId, collectionInfo.name);
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

发布该用户的集合列表(以及任何连接的用户获取其列表).

一旦用户获得他们的列表,每个集合都会被新的Meteor.Collection反应,然后发布.

UsersCollectionManager.addUsersCollection = function(userId, collectionName) {
  if (self.collections[userId].collections[collectionName] === undefined) {
    self.collections[userId].collections[collectionName] = new Meteor.Collection(collectionName);

    Meteor.publish(collectionName, function() {
      return self.collections[userId].collections[collectionName].find();
    });
  }
};
Run Code Online (Sandbox Code Playgroud)

一旦用户断开连接,我就有了一个运行的功能.

如果该用户没有打开任何连接(例如:如果他们打开了多个窗口并关闭了所有连接"所有窗口关闭"),那么它将启动30秒超时:

  • 清理所有这些发布调用和新的Meteor.Collection调用"以节省内存

由于应用程序的其他用户不需要此用户的集合.

我不确定如何从记忆中清理那些.

我没有在Meteor API中看到"取消发布"或"Collection.stop"类型的方法.

我该如何进行清理?

javascript meteor

14
推荐指数
2
解决办法
232
查看次数

如何为单个流星应用程序创建私有包?

流星0.6.5.1从0.6.4(我的自定义私有包被忽略,无法正确加载)

  • 如何让它加载,我一直在搜索,这变得令人沮丧.

我似乎无法获得我曾经在我的包/文件夹中添加并在smart.json中添加的包:

{
  packages: {
    "my_package": {
       "path": "packages/my_package"
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用绝对路径以及将my_package一起移动到meteor目录之外

自0.6.5升级后现在说:

smart.json changed.. installing from smart.json
  Package my_package has been ignored because it has been manually installed in /packages
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

$ mrt add my_package
my_package: no such package
Run Code Online (Sandbox Code Playgroud)

导致:"没有这样的包"错误,即使它在packages /文件夹中

我错过了什么!:)?

meteor meteorite

4
推荐指数
1
解决办法
1819
查看次数

标签 统计

meteor ×2

javascript ×1

meteorite ×1