support Task.loop(Array)