Promises would make the code cleaner because it is easier to wait for all Subtasks to be processed but you have to be aware of the same context issues. But for this approach Promises would require more boilerplate code.