function $Promise(executor){
	if(typeof executor !== 'function')throw new TypeError('executor is not a function');

	this._state = 'pending';
	this._value = undefined;
	this._handlerGroups = [];

	executor((data) => this._internalResolve(data),(error) => this._internalReject(error));
	//executor(this._internalResolve.bind(this), this._internalReject.bind(this));
}
/*----------------------------------------------------------------
Promises Workshop: construye la libreria de ES6 promises, pledge.js
----------------------------------------------------------------*/
Promises Workshop: construye la libreria de ES6 promises, pledge.js
Promises Workshop : construye la libreria de ES6 promises pledge . js
function $Promise(executor){
	if(typeof executor !== 'function')throw new TypeError('executor is not a function');
	this._state = 'pending';
	this._value = undefined;
	this._handlerGroups = [];
	executor((data) => this._internalResolve(data),(error) => this._internalReject(error));
}
function $Promise ( executor ) { if ( typeof executor !== 'function' ) throw new TypeError ( 'executor is not a function' ) ; this . _state = 'pending' ; this . _value = undefined ; this . _handlerGroups = [ ] ; executor ( ( data ) => this . _internalResolve ( data ) , ( error ) => this . _internalReject ( error ) ) ; }
Promises Workshop: construye la libreria de ES6 promises, pledge.js
Promises Workshop : construye la libreria de ES6 promises pledge . js
//executor(this._internalResolve.bind(this), this._internalReject.bind(this));