多个异步函数调用

时间:2016-05-22 11:26:03

标签: javascript node.js asynchronous sails.js

鉴于这种情况,NodeJs服务器内部有一个动作(在我的案例中是SailsJs),我需要在一次调用中创建x个不同的实体。客户端无法调用x次操作。 关于回调创建这些实体的最佳/推荐方法是什么?如果我理解回调正确,就不可能只建立这样的东西:

for(var i = 0; i < x; i++){
  User.create(...).exec(...);
}

实施此方法的正确方法是什么?

布鲁诺

2 个答案:

答案 0 :(得分:2)

使用async

轻松完成
var async = require('async');
async.times(x, function(n, next){
    User.create(...).exec(function(err, user) {
      next(err, user)
    })
}, function(err, users) {
  // processed x times 
});

答案 1 :(得分:1)

您可以将要创建的用户数组移交给User.create。您首先准备用户数组。

要创建大量具有多对多关系的用户,原生呼叫要快得多,例如Mongo批量插入。

Sails Reference regarding create