Такое поведение на самом деле имеет смысл не только с точки зрения производительности. Подумайте об этом так:
Когда вы используете observe
метод, вы хотите быть уведомленным о всех изменениях, которые случаются с коллекция (Будь то на сервере или в Minimongo). Таким образом, каждый из полученных вами обратных вызовов является единственным экземпляром модификации коллекция. Когда вы меняете порядок объектов, перемещая один из них в другое место, вы меняете коллекцию однажды, Итак, вы хотите получить только один обратный вызов для этого события.
Вы не хотите быть уведомленным 42 раза об одном событии!
Я думаю, что самый простой способ умножить, что уведомление о всех перемещенных объектах - это зацикливаться на них вручную в рамках обратного вызова. Когда предмет перемещается из позиции А в позицию B, вы знаете, что все объекты, которые были между A и B, также были сдвинуты. Поэтому, если вам нужно настроить каждый из них, просто сделайте это в цикле, который переходит от A к B за весь список.