Javascript 通过同步迭代数据库获得levelDB length/size

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');

我正在尝试一个带有levelDB的node.js应用程序。 假设我在数据库中只有很少的条目,需要查询它的大小,然后才能执行操作。。我将getDBLength()函数实现为:

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()是异步操作

当我想知道长度时,正确的方法是什么