Я действительно новичок в обещаниях (я использую обещания bluebird с expressjs). Мне нравится, как они убирают код. Однако я не совсем уверен, как использовать их в некоторых сценариях. Я даже не уверен, что использую их прямо в моем примере.Есть ли способ передать пользовательские данные в. Then часть обещаний?
Вопрос, который у меня есть, заключается в том, что я хотел бы передать правду или фальшь, чтобы «затем» часть обещания. Я прокомментировал приведенный ниже код для получения дополнительной информации.
Спасибо заранее!
//data is an array of javascript objects
Promise.each(data, function(d){
delete d.offset;
if (d.driver_id == -1) d.driver_id = null;
Promise.try(function(){
return new Term().where({'date_of_driving': d.date_of_driving}).fetch()
})
.then(function(result){
d.updated_at = dater.formatDate(new Date(), true);
if (result !== null) {
//update
var res = result.toJSON();
return new Term({'id': res.id}).save(d);
} else {
//save
d.created_at = dater.formatDate(new Date(), true);
return new Term().save(d);
}
}).then(function(item){
//I need to know here if before I saved or updated Term record
//is there a way to pass a truthy or falsy variable?
})
})
.then(function(terms){
})
.catch(function(error){
callback(false);
});
Какую версию nodejs/iojs вы используете? –