草庐IT

publish-subscribe

全部标签

javascript - 帮助 "Scalable JavaScript Application Architecture"

我正在构建一个大型javascript应用程序,我决定使用NicholasZakas的可扩展应用程序架构设计:http://developer.yahoo.com/yui/theater/video.php?v=zakas-architecture根据他的系统,模块是自封装的并且彼此不知道......但是我在我的项目中遇到了许多实例,模块似乎有必要相互了解,因为它们本质上是,一个更大的整体的各个部分。例如..我有三个模块:上传、窗口和管理器。单击上传选项时,会打开一个带有上传表单的弹出窗口。窗口“管理器”上还有一个链接。单击管理器链接会更新弹出窗口以显示管理工具......这对我来说最

javascript - 使用 promise 的一次性事件处理?

很常见的场景。我想要一些解耦的代码,当事情准备就绪时触发事件。对于整个应用程序运行,这只会发生一次。另一方面,还有另一段代码,我希望在触发两个或多个事件时发生其他事情。我的意思是像所有这些,像依赖项。好吧,更多异步的东西在一起......绝对是正确的?然后我开始思考。对一次性事件使用pub/sub真的明智吗?只是做出可访问的promise,一旦该事件即将被触发,它就会解决,这不是更好吗?然而,这意味着我需要有点互连解耦代码。一件事是共享EventEmitter,但依赖于某些代码来实际创建promise……这听起来很糟糕。所以我在考虑某种混合。拥有模块,其他模块可以通过名称请求“事件”并

javascript - 从 RxJS subscribe() 函数访问声明为组件的变量

我可以使用this.variable访问组件任何部分的变量,除了像subscribe()或catch()这样的RxJS函数内部。在下面的示例中,我想在运行进程后打印一条消息:import{Component,View}from'angular2/core';@Component({selector:'navigator'})@View({template:'./app.component.html',styles:['./app.component.css']})exportclassAppComponent{message:string;constructor(){this.mess

javascript - 如何撤消 "Meteor.publish"和撤消 "new Meteor.Collection"

我看到在发布时,collection._connection.publish_handlers被填充,collection._connection.method_handlers也被填充,可能还有其他区域。我想通过完全删除对该集合及其发布的引用来基本上清理内存。基本上,应用程序的每个用户都有该用户的收藏列表。有一个看起来像这样的发布功能,供用户获取他们的收藏列表:Meteor.publish('users_collections',function(){varself=this;varhandle=UsersCollections.find({ownerId:self.userId})

javascript - this.userId 在 Meteor.publish 中返回 undefined

在我的一个Meteor.publish()函数中,this.userId的值为undefined。我不能调用Meteor.userId()因为它是notavailableinsideapublishfunction.你现在应该如何获得userId? 最佳答案 有四种可能:没有用户登录。您正在从服务器调用该方法,因此没有用户与该调用关联(除非您是从另一个具有用户绑定(bind)的函数调用它到它的环境,比如另一种方法或订阅函数)。你甚至没有accounts-base安装包(或任何附加组件)。我只是为了完整性才包括这个。您正在使用ES6中

javascript - .subscribe() 函数有什么作用?

我正在使用Angular2和NodeJS编写API,我正在为我的ِAPI实现服务,该API应该获取任务列表并显示它。这是任务服务:import{Injectable}from'@angular/core';import{Http,Headers}from'@angular/http';import'rxjs/add/operator/map';@Injectable()exportclassTaskService{constructor(privatehttp:Http){console.log('TaskServiceInitialized...');}getTasks(){retu

design-patterns - 主干 : Multiple views subscribing to a single collection's event? 这是一种不好的做法吗?

我有一个问题,我认为非常基本的问题但是:我只见过CollectionView和依赖于正在更新的集合的单一View的示例。如果您有多个View试图订阅一个集合事件,即重置、addOne、addAll等...关于做/不做这件事,我是否遗漏了一些要点?你有这方面的例子吗?这有意义吗?非常感谢任何信息varColl=Backbone.Collection.extend({model:SingleModel,url:'service',initialize:function(){console.log('collectioninited')}});varSingleModel=Backbone.

javascript - Google Plus One 按钮回调 - 'subscribe' 到 +1 操作的任何方式?

我正在寻找一种订阅加号按钮的方法。根据此处的文档:https://developers.google.com/+/plugins/+1button/#plusonetag-parameters我可以向标签添加一个回调属性,但在我的情况下,我不允许干涉。我正在网站上构建一个工具,一个在文档准备就绪时触发的嵌入式JS。我想实时添加回调,如果声明了回调,它不能干扰原始回调。我在使用Facebook或Twitter时没有这个问题(例如点赞和推文)。在这些情况下,有FB和twttr全局变量,一旦它们可用就像这样注册:FB.Event.subscribe("edge.create",functio

javascript - meteor .publish : publish collection which depends on other collection

我有一个发布功能如下:Meteor.publish('tasks',function(name){varproject=Projects.findOne({name:name});returnTasks.find({projectId:project._id});});现在假设在某些时候对项目进行了更改,结果是上面的Projects.findOne返回了一个不同的项目,因此Tasks.find将返回其他任务。但是,对项目所做的更改不会重新发布任务我使用过reactivePublish,但结果发现包有问题(而且也没有任何单元测试)。那么,有没有一种简单的方法可以让这个发布功能在项目发生变

php - 使用 PHP 在 Web 上进行实时更新?

我希望在Web文档上实现实时协作。是否有某种库可以在PHP中启用它?东西similartoSignalR它通过使用长轮询创建“持久连接”。更新为pubsubhubbub找到了这个库http://code.google.com/p/pubsubhubbub/source/browse/trunk/publisher_clients/php/搜索库名称使我找到了HowtoimplementPubSubHubbub? 最佳答案 结帐pubsubhubbubhttp://code.google.com/p/pubsubhubbub/