Думаю, надо объяснить, откуда вообще взялась эта задача. Я пишу библиотеку для работы с анимациями. В ее основе конструктор, содержащий свойства - координаты передаваемого в качестве аргумента DOM элемента, часть методов предназначена для работы с этими свойствами, а остальные методы - это методы-обертки, необходимые для вызова пользовательских функций (упакованных вместе с их параметрами в объекты). Т.е. пользователь может написать простую функцию, меняющую координаты элемента по некой формуле, поместив ее со своими параметрами в объект, затем вызвать ее через функцию обертку с промисом и raf. При этом он абстрагируется от асинхронной логики и думает только над уравнением перемещения. Чтобы это осуществить, как раз и требуется добавить объект в конструктор (тоже через обертку, чтобы это мог делать пользователь-новичок, не знакомый с ООП в js).
|