I'm trying to chain transitions by calling my update function when the transition.end() promise resolves. The following snippet lies within this update function. The full example, of which this snippet is a part, can be found at https://jsfiddle.net/fmgreenberg/1npLeguh/10/.
let t = d3
.transition()
.duration(3000)
.end()
.then(() => update(newData));
The issue is that the transition happens almost instantaneously, then the visualization sits there for ~3 seconds until update is called again. Why is this? If I comment out the last two lines of the snippet, the transition takes the expected 3 seconds. (Of course, there's just a single transition in this case since I've removed the loop.)