- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在根据此页面上提供的规范实现 DDP 客户端: https://github.com/meteor/meteor/blob/master/packages/livedata/DDP.md
我只是对称为“就绪”和“更新”的两种方法类型有疑问。
根据规范,让我们从“准备就绪”开始:
When one or more subscriptions have finished sending their initial batch of data, the server will send a ready message with their IDs.
这样做意味着我们可以有几个“添加”的消息从服务器直到整个集合被完全传送到客户端。我们应该将其存储在一个临时位置,然后在公开之前等待“就绪”信号量?即在真实收藏中?
关于远程过程调用的相同问题。我是否应该将结果存储在一个临时集合中,并且只在收到“更新”消息后才返回(处理)结果?
这部分是晦涩的
Once the server has finished sending the client all the relevant data messages based on this procedure call, the server should send an updated message to the client with this method's ID.
“应该”,所以如果我确实依赖它但什么也没有,我就会陷入困境?
最佳答案
We should store this in a temporary place to then wait for the "ready" semaphore prior to make it public ? i.e. in the real collection ?
标准的 Meteor JavaScript 客户端使添加的文档在客户端集合中可用,因为它们来自服务器。因此,例如,如果集合正在网页上显示,并且 100 个文档中的 5 个已到达,则用户将能够看到这 5 个文档。
当订阅“就绪”消息到达时,客户端上的订阅被标记为“就绪”,如果客户端正在做一些需要等待所有数据到达的事情,则可以使用它。
是否要在客户端中等待所有数据到达后再公开由您决定……这取决于您对客户端所做的事情以及是否要在文件到达时显示或不是。
"Should", so I'm stuck if I do rely on it but nothing ?
Meteor 服务器确实发送“更新”消息,因此您可以信赖它。
The same question regarding the remote procedure calls. Should I store the result in a temporary collection and only return (process) the result once the "updated" message is received ?
进行方法调用有两种结果:方法返回的返回值(或错误)(“结果”消息),以及方法调用可能已插入/更新/删除的文档(“已更新”消息)。您想要听哪一个取决于您:知道何时收到来自方法调用的所有文档更改对您来说很重要,还是您只想要方法返回值。
Meteor 客户端使用“更新”消息来执行“延迟补偿”:当客户端更改本地文档时,更改会立即应用到本地文档(并且更改对用户可见)。 .. 假设更改可能会被服务器接受。然后客户端进行方法调用请求更改,并等待从服务器发送更新的文档(如果被接受,则可能包括更改,如果被拒绝,则可能不包含更改)。当收到“更新”消息时,本地更改将被丢弃并由来自服务器的实际更新代替。如果您不在自己的客户端中进行延迟补偿,那么您可能不会关心“更新”消息。
关于Meteor DDP - "ready"和 "update"消息说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17051636/
根据 jQueryDoc在术语中,.ready() 被称为位于 jQuery.prototype 中的查询选择方法。对于前 $(document).ready() 作为jQueryDoc说:$ 命名空
我见过一些代码,他们只是这样做: $().ready(function() { ... }); 这比执行文档选择器要短,但它是同一件事吗? 最佳答案 略有变化: $(document).rea
各个处理程序的回调函数何时执行? 最佳答案 在主要过程中 当您的应用完成初始化并准备打开浏览器窗口时,将触发app上的“就绪”事件。由于在此之前您无法打开窗口,因此可以使用回调函数来创建Browser
最近发现了head.js图书馆和男孩,我对此感到满意,尽管我仍然对一件事感到有点困惑。 来自 headjs.com: The “DOM ready” event such as $(document)
我在我的代码库中发现代码在另一个 $(document).ready(function() { ... 例如 $(document).ready(function() { // 20
我已经养成了从ready函数开始jquery编码的习惯 $(function(){...}); 并将所有从ready调用的函数放入ready中。 然后我意识到,放入就绪函数中的一些函数可能不需要在那里
在浏览旧代码库时,我发现了以前的软件开发人员正在使用的地方 $(function(a) {}(A || (A = {}))); 即使页面尚未准备好,它仍在执行。在我删除传递的全局变量后它开始工作。代码
我已经看到了两种方式,但哪种更好或者并不重要。 我觉得包装每个语句可能会更干净,但只是想知道如果您有 50 个语句,每个语句都有自己的 document.ready 事件处理程序,是否会有更多回调?
这个问题已经有答案了: Four variations of jQuery ready() -- what's the difference? (4 个回答) 已关闭 4 年前。 我正在编写一些我没有
我们最近遇到了一个错误,jquery document.ready 似乎在 DOM 加载之前触发。事实证明,在调用的第一个项目之后有一些错误的代码 $.ready(function(){}); 这条语
什么应该在 jQuery.ready() 中,什么应该在 jQuery.ready() 之外? 从性能角度来看,我在某处读到,将所有代码包装在 jQuery.ready() 中并不是一种有效的方法。
我实现了一个带有选项列表(工作类别)的页面,单击该页面时应显示数据(工作描述)。我正在使用 BBQ 来处理后台堆栈。 一切正常,除了在用户首次导航到页面时设置初始选择。我的代码被调用到 addClas
解决方案 我有两个 users.js和 users.coffee在我的 Assets 管道中。显然 users.coffee正在阻止 users.js从被加载。确保删除它! 我正在尝试实现 this
我正在研究一个指令,但我不想玩 $document或 $window , 只有 element本身。 之前我有: angular.element($document).ready(function()
我想在移动设备方向改变时使用 $(window).resize 来调用一些函数,我在 $(document).ready 中编写了所有代码,这在我使用 Android 设备时有效,但在使用 iPhon
我有一个使用数据库的 Ionic 应用程序。我想用一个文件的内容填充这个数据库。 这部分我开始工作了。我想创建一个 DB.ready() 事件,很像 $ionicPlatform.ready() 或
我有一个名为“loadTimeTrackersGrid()”的函数,它加载一个弹性网格。设置如下所示: $(document).ready(function () { var edi
我有一个定义数量为 replicas 的部署.如果我的 Pod 准备好/未准备好处理新连接,我使用就绪探针进行通信 - 我的 Pod 在 ready 之间切换/not ready他们一生中的状态。 我
有什么区别: $(document).ready(initialize); 和 $(document).on('ready', initialize); 对我来说,它们似乎以相同的方式工作。 最佳答案
我看到很多项目都在使用 $(document).on('ready', function(e){ //jquery stuff }) 而不是: $( document ).ready(functio
我是一名优秀的程序员,十分优秀!