У меня есть эта цепочка обещаний в моем коде, и она прекрасно работает. Документ действительно имеет значение и не является нулевым
...
.then(() => {
return db.document.findOne({
where: {
id: _document.get('id', req.transaction)
},
include: [{
model: db.documentChildren,
attributes: ['id', 'reference', 'uri', 'contentType', 'type', 'page']
},
{
model: db.tag,
attributes: ['id', 'key', 'value'], // We don't want meta columns
through: { attributes: [] } // Exclude join table
}],
transaction: req.transaction
})
})
.then(document => {
console.log('document = ', document)
...
Теперь я хочу абстрагировать этот запрос в функцию, чтобы его можно было повторно использовать.
Я бы подумал, что это сработает, но по какой-то причине документ всегда имеет значение null, и когда я запускаю сгенерированный запрос, он дает результат.
Почему документ обнуляется при абстрагировании этого запроса в собственную функцию?
function findOneDocumentQuery (db, id, transaction) {
return db.document.findOne({
where: {
id: id
},
include: [{
model: db.documentChildren,
attributes: ['id', 'reference', 'uri', 'contentType', 'type', 'page']
},
{
model: db.tag,
attributes: ['id', 'key', 'value'], // We don't want meta columns
through: { attributes: [] } // Exclude join table
}],
transaction: transaction
})
}
...
.then(() => {
return findOneDocumentQuery(db, _document.get('id', req.transaction))
})
.then(document => {
console.log('document = ', document)
...