future.js
function() {
		var that = this;
		return new Promise(function(resolve, reject) {
			that.resolve(function(err, val) {
				if (err) {
					reject(err);
				} else {
					resolve(val);
				}
			});
		});
	}
function() {
		var that = this;
		return new Promise(function(resolve, reject) {
			that.resolve(function(err, val) {
				if (err) {
					reject(err);
				} else {
					resolve(val);
				}
			});
		});
	}
function ( ) { var that = this ; return new Promise ( function ( resolve , reject ) { that . resolve ( function ( err , val ) { if ( err ) { reject ( err ) ; } else { resolve ( val ) ; } } ) ; } ) ; }
Returns an ES6 Promise
Returns an ES6 Promise