我有一条Express路由,可以获取一些数据并返回一些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
永远不会触发,打那条路线也不会有任何结果。如何导出异步函数的结果?