以下の関数を呼び出して、ejs のビューでデータを表示すると。サーバー起動後の初回ロード時はデータがありません。ただし、2回目のロードからデータを取得できます。サーバーの起動後の最初のロード時にリストが空になるだけです。この問題は何ですか?データベースとしてredisを使用しています。私もpostgreSQLの使用で同じエラーに直面し、解決しました
client.on('end', function(){
fn(_datas);
}.
しかし、今そのコードを使用することはできません。
getAllDatas = function(fn){
client.smembers('db:contact:all', function(err, _uid){
if(err)
throw err;
else{
for(var i = 0; i < _uid.length; i++){
client.hgetall('db:contact:' + _uid[i], function(err, reply){
if(err)
throw err;
else{
_datas.push(reply);
}
});
}
}
});
fn(_datas);
_datas = [];
};