Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 流星DDP-“;准备好了吗;及;更新;信息澄清_Meteor_Ddp - Fatal编程技术网

Meteor 流星DDP-“;准备好了吗;及;更新;信息澄清

Meteor 流星DDP-“;准备好了吗;及;更新;信息澄清,meteor,ddp,Meteor,Ddp,我目前正在根据本页提供的规范实施DDP客户端: 我只是对“ready”和“update”这两种方法类型有疑问 让我们从“准备就绪”开始,根据规范: 当一个或多个订阅完成其初始 批处理数据时,服务器将发送一条带有其ID的就绪消息 这是否意味着我们可以从服务器上“添加”几个消息,直到整个集合完全传输到客户端。我们应该将其存储在临时位置,然后等待“就绪”信号量,然后再将其公开?i、 在真正的收藏中 关于远程过程调用的相同问题。我是否应该将结果存储在临时集合中,并且仅在收到“更新”消息后返回(处理)结

我目前正在根据本页提供的规范实施DDP客户端:

我只是对“ready”和“update”这两种方法类型有疑问

让我们从“准备就绪”开始,根据规范:

当一个或多个订阅完成其初始 批处理数据时,服务器将发送一条带有其ID的就绪消息

这是否意味着我们可以从服务器上“添加”几个消息,直到整个集合完全传输到客户端。我们应该将其存储在临时位置,然后等待“就绪”信号量,然后再将其公开?i、 在真正的收藏中

关于远程过程调用的相同问题。我是否应该将结果存储在临时集合中,并且仅在收到“更新”消息后返回(处理)结果

这部分不清楚

一旦服务器根据此过程调用向客户端发送完所有相关数据消息,服务器应发送 使用此方法的ID向客户端更新消息

“应该”,所以如果我真的依赖它,但什么都不依赖,我就被卡住了

我们应该将其储存在临时位置,然后等待“准备就绪” 在公开之前发出信号量?i、 在真正的收藏中

标准Meteor JavaScript客户端使添加的文档从服务器传入时,可以在客户端集合中使用。因此,例如,如果集合显示在网页上,并且到目前为止100个文档中有5个已经到达,那么用户将能够看到这5个文档

当订阅“ready”消息到达时,客户端上的订阅被标记为“ready”,如果客户端正在执行需要等待所有数据到达的操作,则可以使用该消息

您是否希望在客户机中等待所有数据到达后再将其公开取决于您。。。这取决于您正在对客户做什么,以及您是否希望在文档到达时显示文档

“应该”,所以如果我真的依赖它,但什么都不依赖,我就被卡住了

Meteor服务器确实发送“更新”消息,因此您可以依赖它

关于远程过程调用的相同问题。我是否应该将结果存储在临时集合中,并且仅在收到“更新”消息后返回(处理)结果

方法调用有两种结果:方法返回的返回值(或错误)(“结果”消息)和方法调用插入/更新/删除的文档(“更新”消息)。您想要听哪一个取决于您:您是否需要知道何时收到来自方法调用的所有文档更改,或者是否只需要方法返回值

Meteor客户端使用“更新”消息执行“延迟补偿”:当客户端更改本地文档时,更改将立即应用于本地文档(并且用户将看到更改)。。。假设更改可能会被服务器接受。然后,客户机进行方法调用,请求更改,并等待服务器发送更新的文档(如果接受了更改,则可能包括更改;如果拒绝了更改,则可能包括更改)。当收到“更新”消息时,本地更改将被丢弃,并由来自服务器的实际更新替换。如果您没有在自己的客户端中进行延迟补偿,那么您可能不关心“更新”消息