Тут задавали вопрос, что внутри Deferred, а еще нативная поддержка Promise появилась в браузерах. Чтобы окончательно разобраться в «обещаниях», решил свой полифил написать
ES6 Promise polyfill на GitHub, для работы требуется setImmediate.
Реализовано поведение, максимально похожее на native Promise в Chrome и Aurora.
Можно использовать в Nodejs:
var Promise = require('es6-promises');
Установка:
Bower
bower install promises
npm
npm install es6-promises