【发布时间】:2018-09-05 22:38:49
【问题描述】:
我正在开发一个 rethinkDB 数据库,并使用快速服务器和 HTTP 请求访问它。
据我所知,从数据库中获取数据然后响应 HTTP 请求需要一个异步函数。
我的看起来像这样:
getChain(notNeeded, callback) {
// Connecting to database
let connection = null;
rethinkdb.connect({ host: 'localhost', port: 28015 }, (err, conn) => {
if (err) throw err;
connection = conn;
rethinkdb.db(dbUsed).table(tableUsed).run(connection, (err, cursor) => {
if (err) throw err;
cursor.toArray((err, result) => {
if (err) throw err;
// console.log(JSON.stringify(result, null, 2));
console.log(result + "1");
callback(result);
})
})
})
}
我通过以下方式访问它:
router.get('/', (req, res, next) => {
DatabaseBlockchain.getChain(('not needed'), callback => {
res.status(200).json(callback);
})
})
如您所见,有一个变量“不需要”,我不需要。
但是当没有第二个变量创建“getChain”时,我不能在最后调用“callback(result)”并得到“回调不是函数”的错误。
所以,我的总体问题是,是否有办法在没有第二个参数的情况下创建异步函数!
非常感谢 :)
【问题讨论】:
标签: node.js http express asynchronous rethinkdb