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

javascript 支持鏈?zhǔn)秸{(diào)用的異步調(diào)用框架Async.Operation

復(fù)制代碼 代碼如下:
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技術(shù)javascript 支持鏈?zhǔn)秸{(diào)用的異步調(diào)用框架Async.Operation,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄色天堂网站 | 精品一产品大全 | 国产综合在线视频 | 亚洲国产成人久久精品影视 | 中文字幕在线久热精品 | 久久 这里只精品 免费 | 国产在线观看www鲁啊鲁免费 | 两个客户一起吃我的奶 | 麻豆国产人妻精品无码AV | 色婷婷粉嫩AV精品综合在线 | 欧美国产日韩久久久 | 小处雏一区二区三区 | 在线涩涩免费观看国产精品 | 欧美xx69 | 8090碰成年女人免费碰碰尤物 | 俄罗斯破处 | 亚洲午夜精品A片久久WWW解说 | 闺蜜扒开我尿口使劲揉 | 欧美不卡一区二区三区 | 3DNagoonimation动漫 | 怡春院欧美一区二区三区免费 | 麻豆国产人妻精品无码AV | 无码乱人伦一区二区亚洲一 | 国产午夜视频 | 良家人妻无码专区九色颜射 | 精品久久久久中文字幕加勒比东京热 | 欧美国产在线一区 | 日本午夜精品理论片A级APP发布 | yy8090理论三级在线看 | 久久这里只有热精品18 | 美女激清床上戏大全 | 97在线超碰免费视频 | 国产精品免费一区二区三区四区 | 免费无码一区二区三区蜜桃大 | 熟女人妻水多爽中文字幕 | 日本湿姝在线观看 | 精品国产影院 | 伊人久久电影院 | 青青草伊人 | 胸大美女又黄的网站 | 亚洲精品国产专区91在线 |