Directly paste the Code:
/*** Mini version of deferred */function deferred (func) {If (this instanceof deferred === false) {return New deferred (func)} var tuple = []; vaR promise = {resolve: function () {var t; while (t = tuple. shift () {T. apply (null, arguments) ;}}, then: function (n) {return tuple. push (N), this ;}}if (func) {func. call (promise, promise. RESOLVE);} return promise ;}
Demo1:
VaR d = new deferred (); setTimeout (function () {d. resolve ({Name: 'breezefeng', age: 24, sex: 'male'}) ;}); D. then (function (globalinfo) {console. log (globalinfo. name );}). then (function (globalinfo) {console. log (globalinfo. age );}). then (function (globalinfo) {console. log (globalinfo. sex );});
Demo2:
Deferred(function (resolve) { setTimeout(function () { resolve(‘aaaa‘); });}).then(function (bbb) { console.log(bbb)})
Mini version of deferred