Snap has a callback function after an animation, as per the docs
If you want to sequence several, you could make this a bit easier, and create a function where you just pass it animation arrays (see example at bottom)...
var s = Snap("#svg");
var anim1 = function() {
triangleClone.animate({'transform' : 'r90,200,200 T400,300'}, 1000, mina.linear, anim2);
}
var anim2 = function() {
triangleClone2.animate({'transform' : 'r180,200,200 T100,700'},1000, mina.linear, anim3);
}
var anim3 = function() {
triangleClone3.animate({'transform' : 'r270,200,200 T-300,400'},1000);
}
var triangle = s.path("M200 200,L600,500 L200,500 L200,200");
var triangleClone = triangle.clone();
var triangleClone2 = triangle.clone();
var triangleClone3 = triangle.clone();
anim1();
If you were going to do a lot more animations, it could be worth making a frame sequence function, like I did here