Javascript 通过同步迭代数据库获得levelDB length/size
我正在尝试一个带有levelDB的node.js应用程序。 假设我在数据库中只有很少的条目,需要查询它的大小,然后才能执行操作。。我将getDBLength()函数实现为:Javascript 通过同步迭代数据库获得levelDB length/size,javascript,asynchronous,async.js,leveldb,Javascript,Asynchronous,Async.js,Leveldb,我正在尝试一个带有levelDB的node.js应用程序。 假设我在数据库中只有很少的条目,需要查询它的大小,然后才能执行操作。。我将getDBLength()函数实现为: function getDBLength() { let i = 0; console.log('aaaa'); db.createReadStream().on('data', function(data) { console.log('bbbb');
function getDBLength() {
let i = 0;
console.log('aaaa');
db.createReadStream().on('data', function(data) {
console.log('bbbb');
i++;
}).on('error', function(err) {
return console.log('Unable to read data stream!', err)
}).on('close', function() {
console.log('returning length as: ' + i);
return i-1;
});
}
从nodejs提示符调用此func时的输出:
console.log( 'Length: ' + getDBLength());
aaaa
Length: undefined
bbbb
returning length as: 1
getDBLength()立即返回为db。getDBLength中的createReadStream()是异步操作
当我想知道长度时,正确的方法是什么