Chaining waterline Anrufe mit Versprechen

Ich habe in den letzten 3 Tagen meinen Kopf von einer Wand geschlagen.

Ich benutze sailsjs und das mitgelieferte ORM für die Wasserlinie. Ich möchte DB-Aufrufe nacheinander ausführen. Ich weiß, dass ich das tun kann, indem ich in "then" -Aufrufen verschachtele, aber es sieht einfach falsch aus.

Ich habe die Q-Dokumentation und die Tutorials mehrmals durchgesehen, aber ich verstehe immer noch nicht, wie ich Anrufe von vorhandenen Promises nacheinander verbinden und abfeuern kann:

Ich will

Erstelle einen BenutzerErstelle eine Aktionlink the user & actionUpdate den Benutzeraktualisiere die Aktion

Mein Code sieht aus wie

 var mail = '[email protected]';

 Users.create({email:mail, name:''}).then(console.log).fail(console.log);

 Actions.create({actionID:123})
 .then(function(error, action){
        Users.findOneByEmail(mail).then(function(person){
            person.actions.add(action.id);
            person.save(console.log);
        }).fail(console.log)  
     });

 Users.update({email:mail},{name:'Brian'}).exec(console.log);
 Actions.update({actionID:123},{now:'running'}).exec(console.log);

Wie Sie dem Code entnehmen können, habe ich eine Mischung aus exec & then verwendet: P

Ich denke, der Weg ist, die Users.create (...). Dann -> Action.create (...). Dann -> Users.findOneByEmail (...). Dann -> * und die Updates zu verbinden.

Vielen Dan von jeder Hilfe

Antworten auf die Frage(1)

Ihre Antwort auf die Frage