nodejs アプリ内のすべてのユーザーを検索して表示したいと考えています。
app.js
var express = require('express');
var hbs = require('hbs');
var app = express();
var user = require('./user');
app.set('view engine', 'html');
app.engine('html', hbs.__express);
app.use(express.static('public'));
app.use(express.bodyParser());
app.get('/', function(req, res) {
res.render('user/index', {
title: "User overview",
users: user.all()
}
);
});
user.js
var http = require('http');
var options = {
host: 'localhost',
port: 5984,
path: '/user/_all_docs?include_docs=true',
headers : {
'accept': 'application/json'
}
};
exports.all = function() {
// Store them ?
var entries = [];
var db_req = http.request(options, function(db_res) {
db_res.setEncoding('utf8');
db_res.on('data', function(data){
entries.push(data);
});
});
db_req.end();
// Return entries somehow?
}
nodejs が並列リクエストを行っていることを理解しているため、単純にエントリ リストを返すことはできません。しかし、空のリストではないdb_req.end()
ことを確認するために、後でどの関数またはコールバックを使用する必要がありますか?entries