Я ударился головой о стену в течение последних 3 дней.
Я использую sailsjs и waterline ORM, которые поставляются в комплекте. Я хочу запускать вызовы DB один за другим. Я знаю, что могу сделать это, вложив внутри "затем" вызовы, но это выглядит неправильно.
Я несколько раз изучал Q-документацию и учебники, но я до сих пор не понимаю, как подключать и запускать "затем" вызовы из существующего Promises последовательно: (
Я хочу:
- создать пользователя
- создать действие
- связать пользователя и действие
- обновить пользователя
- обновить действие
Мой код выглядит как
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);
Как вы можете видеть из кода, я использовал сочетание exec, а затем: P
Я думаю, что путь заключается в подключении Затем → Action.create(...). Затем → Users.findOneByEmail(...). Затем → * и обновления.
Огромное спасибо от любой помощи