有人可以在几行中实现最基本的承诺吗?
这里是:
function Promise(fn) { // takes a function as an argument that gets the fullfiller var callbacks = [], result; fn(function fulfill() { if (result) return; result = arguments; for (var c;c=callbacks.shift();) c.apply(null, arguments); }); this.addCallback = function(c) { if (result) c.apply(null, result) else callbacks.push(c); }}Promise.prototype.then = function(fn) { var that = this; return new Promise(function(c){ that.addCallback(function() { var result = fn.apply(null, arguments); if (result instanceof Promise) result.addCallback(c); else c(result); }); });};
这两个摘要有什么关系?
ajax从
getPromiseForAjaxResult函数调用:
function getPromiseForAjaxResult(ressource) { return new Promise(function(callback) { ajax({url:ressource}, callback); });}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)