Тема: Node.JS + MongoDB
Показать сообщение отдельно
Старый 10.10.2013, 22:33   #49
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Node.JS + MongoDB

Я это сделал!
function AFlow() {
    
this.index 0;
}

module.exports.AFlow AFlow;

module.exports.run = function (jobs) {
    var 
flow = new AFlow;
    
flow.jobs jobs;
    
flow.doJob();
    return 
flow;
};

AFlow.prototype.add = function (job) {
    
this.jobs.splice(this.index 10job);
};



AFlow.prototype.doJob = function () {
    var 
flow this;
    if (
flow.index >= flow.jobs.length) {
        return;
    }
    
process.nextTick(function () {
        
flow.jobs[flow.index](function () {
            
flow.index++;
            
flow.doJob();
        }, 
flow)
    });
}; 
использование:

var util = require('util');
var 
AFlow =  require('AFlow');

var 
data = [];

flow AFlow.run([
    function (
next) {
        
data.push('one');
        
console.log(util.inspect(data));
        
setTimeout(next500);
    },
    function (
next) {
        
data.push('two');
        
flow.add(function (next) {
            
data.push('three');
            
console.log(util.inspect(data));
            
setTimeout(next500);
        });
        
console.log(util.inspect(data));
        
setTimeout(next500)
    },
    function (
next) {
        
data.push('four');
        
console.log(util.inspect(data));
        
setTimeout(next500)
    },
    function(){
        
data.push('five');
        
console.log(util.inspect(data));
    }
]); 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (10.10.2013)