Perhaps something like this may help you.
c = Dynamic@a a = {}; tt = Table[AppendTo[a, {i, Pause[0.1*i]}]; i, {i, 8}] MostHere, most code has to do with "automatic" abortion
kill = 0; t = CreateScheduledTask[kill = 1]; StartScheduledTask[t]; c = Dynamic@a a = {}; tt = Table[If[kill == 1, Abort[], AppendTo[a, {i, Pause[0.1*i]}]]; i, {i, 8}] RemoveScheduledTask[t];