The getAnimations() method of the Element interface (specified on the Animatable mixin) returns an array of all Animation objects affecting this element or which are scheduled to do so in future. It can optionally return Animation objects for descendant elements too. 
 
 
getAnimations()
getAnimations(options)
  
 An Array of Animation objects, each representing an animation currently targeting the Element on which this method is called, or one of its descendant elements if { subtree: true } is specified. 
 
 The following code snippet will wait for all animations on elem and its descendants to finish before removing the element from the document. 
 
Promise.all(
  elem.getAnimations({ subtree: true }).map((animation) => animation.finished),
).then(() => elem.remove());