Asynchronous Sails.js:创建多个依赖于先前记录的记录

Asynchronous Sails.js:创建多个依赖于先前记录的记录,asynchronous,sails.js,waterline,Asynchronous,Sails.js,Waterline,我有一个叫做Task的模型。它有一个名为依赖项的属性,该属性存储关于在继续处理任务之前应完成哪些任务的信息(任务ID数组) 现在,我有一个场景,我有一个对象数组。我正在根据每个对象的属性创建任务s。问题是,每个创建的任务都依赖于以前创建的任务,但Waterline的异步性在这里起了阻碍作用,因为我不能在创建每个记录后循环遍历每个对象并将依赖项ID保存在变量中 在同步伪代码中,我希望发生以下情况: var dep = undefined, t = undefined; var objects =

我有一个叫做
Task
的模型。它有一个名为
依赖项
的属性,该属性存储关于在继续处理任务之前应完成哪些任务的信息(任务ID数组)

现在,我有一个场景,我有一个对象数组。我正在根据每个对象的属性创建
任务
s。问题是,每个创建的任务都依赖于以前创建的任务,但Waterline的异步性在这里起了阻碍作用,因为我不能在创建每个记录后循环遍历每个对象并将依赖项ID保存在变量中

在同步伪代码中,我希望发生以下情况:

var dep = undefined, t = undefined;
var objects = [object1, object2, object3, object4] // array of objects
for object in objects {
    object.dependancy = dep;
    t = createTaskBasedOnObject(object); // assuming this'd return the created object
    dep = t.id; // Change dep so the next object has the created task as a dependency
};
最好的方法是什么?如果需要的话,或者如果它能让事情变得更简单的话,我可以使用外部库。

您可以使用库来实现这一点。它在Sails项目中全球曝光

async.each(objects, function (object, next) {
  object.dependancy = dep;
  createTaskBasedOnObject(object, function (e, t) {
    // handle errors...

    dep = t.id;
    return next();
  });
});