Node.js - 如何使用异步瀑布强制数据一致性?

时间:2015-02-23 14:13:55

标签: node.js mongodb express mongoose

我的流程存在一致性/并发性问题。当我在我的应用程序中创建会话(从路由执行createSession)时,需要几个异步步骤。 Mongoose模型只会在流程的最后,在瀑布的function(err,result)中强制执行一致性。

问题在于,如果以非常短的间隔触发2个请求,则在第2个请求的步骤1开始时,步骤2可能无法完成,并且会导致数据不一致。解决这类问题的最佳方法是什么?有没有办法让请求入队?

function createSession(req, res) {

async.waterfall([
    // Step 1 in collection 1
    function(callback){
        ...
    },

    // Step 2 in collection 2
    function(callback){
        ...
    },

    function(err,result){
        ... // session is created
    }

0 个答案:

没有答案