Promesses : map().reduce()
Cf. HTML5 Rocks :
JavaScript Promises: There and back again
Code sur Github