我在UI上有一个场景,用户在下拉列表中显示三组值(50多个可能的值)。用户需要在单个操作中基于这些值集创建所有可能的排列。在后台,每个排列转换为使用manager.createEntity
通过breezejs创建的实体。通过大量可能的排列(50 * 50 * 50)创建所有实体并最终保存它们的过程非常缓慢到浏览器冻结的程度。
在决定保存最终结果甚至取消整个过程之前,用户应该能够操纵所有可能的排列。
我尝试在服务器上创建所有实体而不将它们持久化到数据库然后加载它们,但这本身就创造了一个全新的挑战。 Breezejs无法将这些实体视为新实体(尚未保留到数据库中)。即使有办法,我们仍然需要管理实体密钥以防止不同的实体在缓存中发生冲突。
有没有办法解决这个问题。在用户保存整个父上下文之前,我无法保留临时数据。
下面是最终结果的可视化示例。当用户单击生成按钮时,会自动为这些排列创建这些排列。您还注意到有一个下拉列表允许用户编辑值。虽然由于dom中的所有html导致页面加载速度变慢,但它不是瓶颈。真实的是对manager.createEntity