Express でルートを次のように設定しました。
app.get('/api/:type/:id', api.getItemById);
関数 api.getItemById は、ルートの api モジュール内にあります。しかし、API モジュール内では、データベースに接続する関数を実行し、すべてのレスポンダー関数を次のように定義する必要があります。
couchbase.connect(dbConfiguration, function (err, bucket) {
if (err) {
throw (err)
}
exports.getItemById = function (req, res) {
if (req.params.type == 'tag' || req.params.type == 'user' || req.params.type == 'asset' || req.params.type == 'expense' || req.params.type == 'income') {
get(req, res, req.params.type);
} else {
res.send(400);
}
};
});
問題は、この場合、アプリケーションが getItemById 関数を見つけられず、これをスローすることです。
.get() requires callback functions but got a [object Undefined]
私はそれを正しく行うかどうかわかりません。コールバック関数内で定義されている場合、その関数をノード アプリに表示する方法を教えてください。