gpt4 book ai didi

performance - Ember.JS:观察@each,但只是迭代新的/更改的项目

转载 作者:行者123 更新时间:2023-12-03 07:45:05 25 4
gpt4 key购买 nike

我目前正在观察一些 Ember 数组,如下所示:

 observe_array: function() {
this.get("my_array").forEach(function(e,i) {
// do something
});
}.observes("my_array.@each");

大多数情况下,如果更新 my_array,会立即添加多个元素。然而,观察者在添加每个元素时逐一触发,这变得极其低效。有没有办法更有效地做到这一点?本质上,我需要能够拥有一个基于“my_array”的变异数组

仅供引用,my_array 的实际大小将在 600-1200 个元素之间。 “做某事” block 涉及一些需要更多时间的操作 - 从字符串创建 Date 对象并将每个元素转换为 json 表示形式。

我没有做一个观察者,而是尝试了一个带有cacheable()方法/标志的属性,但这并没有加快速度......

最佳答案

假设(通过注释)您的数组是一个 ember-data 填充数组,您应该尝试观察 array.isUpdating 属性。我通过这个获得了成功。

唯一的缺点是它仅在使用 .findAll() 时设置! (所以Model.find())

关于performance - Ember.JS:观察@each,但只是迭代新的/更改的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com