JSFiddle - React, Tailwind, and code Playground

JavaScript

data = [1,2,3];

d3.select("body").selectAll("div").data(data)
    .enter().append("div")
    .text(String);

d3.selectAll("div")
    .call(setupRemove)
    .transition().duration(500)
    .each("end", onRemove)
    .remove();

function setupRemove(sel) {
    counter = sel.size();
}
function onRemove() {
    counter--;
    if(counter == 0) {
        console.log("all done");
    }
}