天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript 支持鏈式調用的異步調用框架Async.Operation

復制代碼 代碼如下:
Async = {};
Async.Operation = function(options) {
options = options || {};
var callbackQueue = [];
var chain = (options.chain && options.chain === true) ? true : false;
var started = false;
var innerChain = null;
this.result = undefined;
this.state = "running";
this.completed = false;
this.yield = function(result) {
var self = this;
if (!chain) {
self.result = result;
self.state = "completed";
self.completed = true;
} else {
started = true;
self.result = result;
self.state = "chain running";
self.completed = false;
}
setTimeout(function() {
if (!innerChain) {
while (callbackQueue.length > 0) {
var callback = callbackQueue.shift();
if (chain) {
callbackResult = callback(self.result);
self.result = callbackResult;
if (callbackResult && callbackResult instanceof Async.Operation) {
innerChain = Async.chain();
while (callbackQueue.length > 0) {
innerChain.next(callbackQueue.shift());
}
innerChain.next(function(result) {
self.result = result;
self.state = "completed";
self.completed = true;
return result;
});
callbackResult.addCallback(function(result) {
self.result = result;
innerChain.go(result);
});
}
} else {
callback(self.result);
}
}
if (!innerChain) {
self.state = "completed";
self.completed = true;
}
} else {
while (callbackQueue.length > 0) {
innerChain.next(callbackQueue.shift());
}
innerChain.next(function(result) {
self.result = result;
self.state = "completed";
self.completed = true;
return result;
});
}
}, 1);
return this;
};
this.go = function(initialArgument) {
return this.yield(initialArgument);
}
this.addCallback = function(callback) {
callbackQueue.push(callback);
if (this.completed || (chain && started)) {
this.yield(this.result);
}
return this;
};
this.next = function(nextFunction) {
return this.addCallback(nextFunction);
};
};
Async.chain = function(firstFunction) {
var chain = new Async.Operation({ chain: true });
if (firstFunction) {
chain.next(firstFunction);
}
return chain;
};
Async.go = function(initialArgument) {
return Async.chain().go(initialArgument);
}

JavaScript技術javascript 支持鏈式調用的異步調用框架Async.Operation,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 大胸美女洗澡扒奶衣挤奶 | 在线天天看片视频免费观看 | 十分钟免费看完整视频 | 大相蕉伊人狼人久草av | 777米奇影院第七色色 | x8国产精品视频 | 最新国产在线视频在线 | 十分钟免费看完整视频 | 国产又黄又粗又爽又色的视频软件 | 99视频国产热精品视频 | 97人人碰免费视频公开 | 亚州天堂在线视频av | 色欲档案之麻雀台上淫 | 1000部做羞羞事禁片免费视频网站 | 护士一级片 | 最近免费中文MV在线字幕 | 老师你奶真大下面水真多 | 国产精品97久久AV色婷婷综合 | 国产在线视频一区二区不卡 | 久久久大香菇 | 91热久久免费频精品动漫99 | 性肥胖BWBWBW| 60岁老年熟妇在线无码 | 亚洲 天堂 欧美 日韩 国产 | 久久成人伊人欧洲精品AV | 口工漫画r18全彩啪啪 | 国内精品久久影视免费 | 2020亚洲 欧美 国产 日韩 | 同时被两个男人轮流舔 | 四虎精品久久 | 99在线观看免费 | 国产午夜精品久久久久九九 | 涩涩伊人久久无码欧美 | 天天看片视频免费观看 | 亚洲an天堂an在线观看 | 桃花免费高清在线观看 | 夜夜草导航 | av天堂电影网在线观看 | 黄网13区 | 亚洲人成网站在线观看90影院 | 精品手机在线1卡二卡3卡四卡 |