У меня есть экспресс-маршрут, который получает некоторые данные и возвращает JSON, например:
//-- app.js --
app.get('/info', function(req, res){
var realm = require('./realm/realm.js')
Realm.open(realm.config).then(realm => {
var stuff = 'Default Value'
let info = realm.objects('Info')
for (let i of info) {
stuff = i.thing
}
//:::::
res.json({
stuff: stuff
})
})
.catch(error => {
console.log(error)
})
})
Вместо того, чтобы втиснуть все эти вещи в мою декларацию маршрута, я бы хотел, чтобы она была более модульной, как это:
//-- app.js --
app.get('/info', function(req, res){
let info = require('./info.js').results
res.json(info)
})
//-- info.js --
exports.results = function(callback) {
var realm = require('./realm/realm.js')
Realm.open(realm.config).then(realm => {
var stuff = 'Default Value'
let info = realm.objects('Info')
for (let i of info) {
stuff = i.thing
}
//:::::
callback(stuff)
})
.catch(error => {
console.log(error)
})
}
Но callback
никогда не срабатывает и ничто не является результатом попадания на этот маршрут. Как экспортировать результаты асинхронной функции?