RestKit 0.2X同时RKManagedObjectRequestOperation(Rest

2019-10-28 10:37发布

在使用委托方法RestKit 0.10.3我能够同时发送GET请求,即使每一个映射依次执行。 我有找哪家需要这么多的时间来接收响应请求,所以我想同时发送的所有请求,但尊重映射命令(我有关系跨越三个请求)。 我需要的:

1)发送GET请求ñ。 如图1所示,发送GET请求ñ。 2,发送GET请求ñ。 3

2)只要响应1接收到开始的请求1映射

3)当响应1的映射没有结束,等待响应2和地图(或刚开始映射如果已经接收到的)

4)当响应2的映射没有结束,等待响应3和图(或刚开始映射如果已经接收到的)

有什么事发生(如果operationQueue上objectManeger未设置为1):

1)发送GET请求ñ。 如图1所示,发送GET请求ñ。 2,发送GET请求ñ。 3

2)一旦接收映射的响应和先前映射已完成

问题1:是否有可能尊重映射的订单?

问题2:能的多个响应的映射(点2)同时出现? 换句话说,这是不可能性:

1)发送GET请求ñ。 如图1所示,发送GET请求ñ。 2

2)开始映射响应1

3)开始映射响应2

4)映射响应1个端部

5)映射响应2层的端部

如果这是不可能的,我想有一个“半”的解决方案:在排队每个willMapDeserializedResponseBlock要求。 该请求将不会被同时发送,但至少我可以在以前的映射之前发送每个请求。

问题3:如果我对重复交叉关系两侧的entityMappings的“addConnectionForRelationship”,这三个映射应同时执行,为了不应该是重要了。 这是可能的,而无需创建一些邪恶的行为(重复的对象,孤立的对象,缺少关系,低性能)?

我疯了吗? :d

Answer 1:

如果你没有在数据库中现有的对象,然后同时在后台运行多个操作会导致一些问题,因为你会尝试连接或防止跨多个环境重复在不同的线程。

2.一般的解决方案是:

  1. 不要运行并发请求
  2. 都创造了前面的存根对象,然后响应填充和他们有关

如果您需要的顺序是明确的,那么你应该使用AFNetworking同时执行的下载,然后用RestKit映射操作响应数据,并指定依赖它们之间。



文章来源: RestKit 0.2x simultaneous RKManagedObjectRequestOperation