Tag: f# 3.0

队列模式的函数式编程方法

处理asynchronous操作的队列是否可以在函数式编程的原则下实现? 这基本上是一个AsyncQueue。 var list = []; var inProgress = false; function Queue() {} Queue.prototype.enqueue = function(data) { list.push(data); if(!inProgress) { inProgress = true; start(list.shift()); } } function start(data) { // initiate some async activity, and call dequeue on completion } function dequeue() { if(list.length) { start(list.shift()); } else { isProgress = false; } } 很明显,有一种状态得到pipe理,无论是与list和inProgress […]