В Постоянство объекта я довольно запутался с кодом события 'change':
var menu = d3.select("#menu select")
.on("change", change);
function change() {
clearTimeout(timeout);
d3.transition()
.duration(altKey ? 7500 : 750)
.each(redraw);
}
зачем использовать d3.transition (). each (), а не transition.call ()? который, я думаю, будет запускать функцию redraw () каждый раз, когда я изменяю параметр.
После перехода на call () пропала анимация, график моментально переключается на конец анимации.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


d3.transition().each()
выберите объект, который вы хотите перевести, и переведите его для каждого объекта, это похоже на добавление движения к каждому объекту один за другим, чтобы вы увидели анимацию
пример
ваша функция выберет объект
transition.call()
если вы используете call без выбора объекта, он переведет весь объект в конец результата, потому что он выберет группу объектов и запустит функцию и вернет ей результат, поэтому вы не увидите анимацию
пример
ваша функция выберет весь объект
это поток