Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function makePromise(callback){
- var onsuccess = function(){};
- var onerror = function(){};
- var promise = {
- then: function(func){
- onsuccess = func;
- return this;
- },
- catch: function(func){
- onerror = func;
- return this;
- }
- };
- function resolve(data){
- onsuccess.call(null, data);
- }
- function reject(err){
- onerror.call(null, err);
- }
- callback.call(null, resolve, reject);
- return promise;
- }
- makePromise(function(resolve, reject){
- setTimeout(function(){
- Math.random() > 0.5 ? resolve(42) : reject(new Error("An error has occurred!"));
- }, 500);
- }).then(function(x){
- console.log(x);
- }).catch(function(err){
- console.log(err);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement