It runs in node.js and the browser (well, sort of). In the latter case, you will need a polyfill for Promises unless you can live without support for Internet Explorer. es6-promise is a good one.