【发布时间】:2010-08-09 09:25:18
【问题描述】:
是否有任何最佳实践模式来实现发送有序请求的队列?我知道这触及了异步请求背后的逻辑,但在特殊情况下需要排队发送:)
这是我的第一次尝试:
this.queue = [],
this.sending = false,
send: function(message) {
if (this.sending) {
this.queue.push(message);
} else {
else this.push(message);
}
},
push: function(message) {
this.sending = true;
new Ajax.Request(this.outURL + "&message=" + encodeURIComponent(message), {
onSuccess: function() {
this.sending = false;
if (this.queue.size() > 0) {
this.push("queued: " + this.queue.shift());
}
}.bind(this)
});
},
有没有更好的实现方式? 提前谢谢你:)
【问题讨论】:
标签: javascript ajax queue prototypejs design-patterns